コンテンツにスキップ

コマンド@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 ./