0

kustomizeのドキュメントは、2 つの異なるオーバーレイを比較する素晴らしいワンライナーを提供しています...

diff \
  <(kustomize build $OVERLAYS/staging) \
  <(kustomize build $OVERLAYS/production)

同じことを行う方法はありますが、特定のkubernetes名前空間内で実行されているものと、ディスク上の定義されたオーバーレイのものに対してですか?

より具体的には、kubectl apply -k .実際にやらずに何をするかを知っていますか? using--dry-runは、実際の差分ではなく、オブジェクトのリストを吐き出すと言います。

4

4 に答える 4

0

これを行うために、シェル構成に小さな関数があります。

kdiff() {
  overlay="${1}"
  kustomize build ${overlay} \
    | kubectl diff -f - ${@:2} \
    | sed '/kubectl.kubernetes.io\/last-applied-configuration/,+1 d' \
    | sed -r "s/(^\+[^\+].*|^\+$)/$(printf '\e[0;32m')\1$(printf '\e[0m')/g" \
    | sed -r "s/(^\-[^\-].*|^\-$)/$(printf '\e[0;31m')\1$(printf '\e[0m')/g"
}

last-applied-configuration注釈を削除し、色を追加します。

于 2021-01-26T11:06:37.117 に答える