コマンド@Kustomize¶
はじめに¶
本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。
01. kustomize
コマンド¶
build¶
▼ buildとは¶
Kustomizeの設定ファイルに基づいて、マニフェストを作成する。
$ kustomize build
kusomize build
コマンドの結果をデプロイする場合、パイプでkubectl apply
コマンドに渡す。
$ kustomize build kubectl apply -f -
もしくは、kubectl
コマンドの-k
オプションでもkustomization.yaml
ファイル指定してもデプロイできる。
$ kubectl apply -k kustomization.yaml
▼ --enable-alpha-plugins¶
プラグインを使用して、kustomize build
コマンドを実行する。
$ kustomize build --enable-alpha-plugins ./kustomize/overlay
▼ --enable-helm¶
Kustomizeを使用して、Helmを実行できるようにする。
$ kustomize build --enable-helm ./chart
▼ --output¶
作成したマニフェストをファイルとして出力する。
$ kustomize build --output ./tmp ./kustomize/overlay
02. kubectl
コマンドを使用したKustomizeの適用¶
diff/apply -k¶
kustomize.yaml
ファイルを使用して、kubectl
コマンドを実行する。
ローカルマシンにあるkustomize.yaml
ファイルを使用する場合、kustomize.yaml
ファイルのあるパスを指定する。
$ kubectl diff -k ./ > kustomize.diff
$ kubectl apply -k ./
リモートにあるkustomize.yaml
ファイルを使用する場合も、同じくkustomize.yaml
ファイルのあるディレクトリのURLを指定する。
$ kubectl diff -k "<リポジトリのURL>/<kustomize.yamlファイルのあるディレクトリ>?ref=<タグ>" > kustomize.diff
$ kubectl apply -k "<リポジトリのURL>/<kustomize.yamlファイルのあるディレクトリ>?ref=<タグ>"
*実行例*
例えば、argocd-cdチャートの5.28.0
を使用する場合、これはArgoCDの2.6.7
に対応しているため、以下の値で作成/変更する。
$ kubectl diff -k "https://github.com/argoproj/argo-cd/manifests/crds?ref=v2.6.7"
$ kubectl apply -k "https://github.com/argoproj/argo-cd/manifests/crds?ref=v2.6.7"
例えば、aws-load-balancer-controllerチャートの1.5.2
を使用する場合、これはaws-load-balancer-controllerの2.5.1
に対応しているため、以下の値で作成/変更する。
$ kubectl diff -k "https://github.com/kubernetes-sigs/aws-load-balancer-controller/helm/aws-load-balancer-controller/crds?ref=v2.5.1"
$ kubectl apply -k "https://github.com/kubernetes-sigs/aws-load-balancer-controller/helm/aws-load-balancer-controller/crds?ref=v2.5.1"
kustomize¶
kustomize.yaml
ファイルを使用して、テンプレートからマニフェストを作成する。
$ kubectl kustomize ./