- https://github.com/kubernetes-sigs/kustomize - https://speakerdeck.com/hhiroshell/kustomize-deep-dive > CNDT2021 の hhiroshell さんの登壇 - https://kubectl.docs.kubernetes.io/references/kustomize/glossary/#kustomization > kustomization.yaml の説明
kustomizeのあまり知られていないが便利な機能 (kustomize edit,create)の紹介koba1tKubernetes Meetup Tokyo #48 LT1
View Slide
自己紹介name: 小林優吾github: koba1ttwitter: 0x6b6f62所属: ヤフー株式会社2
Kustomize とはkubernetes のリソース設定をカスタマイズするためのcliツール特定の値にpatchを当てることや、configMapなどのリソースのgenerateができるhttps://kubectl.docs.kubernetes.io/guides/introduction/kustomize/https://github.com/kubernetes-sigs/kustomize 3
kustomize でできること- manifestにpatchを当てる- 複数クラスタ運用時に共通設定と個別に変える必要のある設定を分離できるhttps://github.com/kubernetes-sigs/kustomize4
kustomize でできること- manifestにpatchを当てる- 複数クラスタ運用時に共通設定と個別に変える必要のある設定を分離できるhttps://github.com/kubernetes-sigs/kustomizekustomization.yaml から参照されるyaml基本はk8sのyamlと同じ形式kustomization.yamlkustomize が一番先に参照する file参照するk8sのyamlや、加える変更を書くhttps://kubectl.docs.kubernetes.io/references/kustomize/glossary/#kustomization 5
詳しい話は CNDT2021 の hhiroshell さんの登壇をhttps://speakerdeck.com/hhiroshell/kustomize-deep-dive 6
kustomize の使い道- manifestにpatchを当てるため- manifestのわかりやすさのため> 変更されそうなconfigやimage tagをk8sのyamlから分離することで、見やすくなる- manifestを1コマンドでクラスタにデプロイする> 各種コンポーネントを 1つの kustomization.yaml から全て参照することで> `kustomize build . | kubectl apply -f -` で一括デプロイが可能になる7
kustomize の使い道- manifestにpatchを当てるため- manifestのわかりやすさのため> 変更されそうなconfigやimage tagをk8sのyamlから分離することで、見やすくなる- manifestを1コマンドでクラスタにデプロイする> 各種コンポーネントを 1つの kustomization.yaml から全て参照することで> `kustomize build . | kubectl apply -f -` で一括デプロイが可能になる1つのリポジトリで 数百クラスタ のkustomization.yamlを管理している8
kustomize の使い道- manifestにpatchを当てるため- manifestのわかりやすさのため> 変更されそうなconfigやimage tagをk8sのyamlから分離することで、見やすくなる- manifestを1コマンドでクラスタにデプロイする> 各種コンポーネントを 1つの kustomization.yaml から全て参照することで> `kustomize build . | kubectl apply -f -` で一括デプロイが可能になる1つのリポジトリで 数百クラスタ のkustomization.yamlを管理している大量のk8s clusterを管理しているとkustomization.yamlをscriptで操作したくなる9
1. kustomizeのyamlを cli から操作するkustomize の サブコマンドを使う (edit,create)- kustomize create> kustomization.yaml を生成できる- kustomize edit> kustomization.yaml を操作できる10
kustomize create- kustomization.yaml の雛形を生成することができる11
kustomize edit- label (kustomize buildする全リソースに共通のlabelをつける) を追加12
kustomize edit- label (kustomize buildする全リソースに共通のlabelをつける) を追加- resources (kustomizeがbuild時に読むファイル) を追加13
他にも一通りのことができそうなので、興味があれば確認してみて下さい14
まとめkustomize のサブコマンドでリソースの操作ができるので、これを使ってshellscriptでfor分を回せば良い感じにできそう普通の用途でもkustomization.yaml の書き方を毎回検索するよりは、subcommand を使って生成した方が便利15
kustomize を使いこなしてsenior yaml engineer になろう!!!16
参考- https://github.com/kubernetes-sigs/kustomize- https://speakerdeck.com/hhiroshell/kustomize-deep-dive- CNDT2021 の hhiroshell さんの登壇- https://kubectl.docs.kubernetes.io/references/kustomize/glossary/#kustomization- kustomization.yaml の説明17