LoginSignup
5
2

More than 5 years have passed since last update.

KustomizeのconfigMapGeneratorをOverlayする方法

Posted at

地味に迷ったので。

Kustomizeに関しては別のQiitaの素晴らしい記事を参照してください。

その際、ConfigMapを環境ごとに使い分けたいと思った際に、configMapGeneratorをpatchしようとした際に地味に迷ったので備忘として。

まずbaseを記載。resourceについては省略しております。

## base/kustomization.yaml
namespace: flask

commonLabels:
  resource: flask

configMapGenerator:
- name: python-env
  literals:
    - PYTHON_ENV=test

resources:
- ./namespace.yaml
- ./deployment.yaml
- ./service.yaml

その後、prodでoverlayするときに、configMapGeneratorで上書きすれば良いと思っていましたが、これだと上手くいかない。
Already Existと怒られてしまいます。

## prod/kustomization.yaml
bases:
- ../base

configMapGenerator:
- name: python-env
  literals:
    - PYTHON_ENV=production

patches:
- ./deployment.yaml

公式のREADME.mdを確認したところ、overlayはconfigmapを書かないといけないようです。

## prod/kustomization.yaml
bases:
- ../base

patches:
- ./deployment.yaml
- ./configmap.yaml
## prod/configmap.yaml
apiVersion: v1
data:
  PYTHON_ENV: production
kind: ConfigMap
metadata:
  name: python-env

これでoverlayでprod用に環境変数が書き換えられます。

全てconfigMapGeneratorでできるようになると楽になって良いと思う今日この頃。

5
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2