kustomize 2.1.0の変更点

kustomize 2.1.0で機能追加、変更点があったのでまとめる
kustomize/v2.1.0.md at master · kubernetes-sigs/kustomize · GitHub

プラグイン機構の導入

kustomize の generator / transformer の振る舞いを変えてみる | TECHSCORE BLOG に詳しく書かれているのでご参照ください

resources expanded, bases deprecated

basesがdeprecatedになり、代わりにresourcesを使うようになった。

今までは例えばoverlayes/production/kustomization.yaml の中で

bases:
- ../base
patches:
- cpu_count.yaml

のように書いていたのが、今後は以下のように書くことが推奨される

resources:
- ../base
patches:
- cpu_count.yaml

replicas field

deployment.yamlの中のreplicasの値を変更することはよくあるので、kustomization.yaml の中でreplicas数を指定できるようになった

今までは以下のようにpatchファイルを書いていたが

kind: Deployment
metadata:
  name: deployment-name
spec:
  replicas: 5

今後は kustomization.yaml の中で以下のように書けるようなった

replicas:
- name: deployment-name
  count: 5

envs field

環境変数が書かれたファイルからConfigmapやSecretを生成するために、 configMapGeneratorsecretGeneratorenvフィールドがあったがdeprecatedになった。代わりにenvsフィールドが追加された。

以前

configMapGenerator:
  - name: my-configmap
     env: env.txt

今後

configMapGenerator:
  - name: my-configmap
    envs:
      - env.txt

kustomize v3.4.0でenvを指定すると Error: json: unknown field "env"というエラーが出るので、envsに変える必要がある。