Разница между тем, что активно в кластере против настройки - PullRequest
0 голосов
/ 04 февраля 2020

kustomize * Документы предоставляют хороший однострочник, который сравнивает два разных оверлея ...

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

есть ли способ сделать то же самое, но с тем, что работает внутри конкретное c пространство имен kubernetes и пространство определенного оверлея на диске?

, точнее, зная, что бы kubectl apply -k . делал на самом деле без этого? использование --dry-run просто говорит, что выплевывает список объектов, а не реальный diff.

Ответы [ 2 ]

0 голосов
/ 28 февраля 2020

Попробуйте эту команду kustomize, в настоящее время в альфа-формате:

KUSTOMIZE_ENABLE_ALPHA_COMMANDS=true kustomize resources diff -k your/kustomize/overlay

через https://kubernetes.slack.com/archives/C9A5ALABG/p1582738327027200?thread_ts=1582695987.023600&cid=C9A5ALABG

0 голосов
/ 04 февраля 2020

Я не уверен, что это то, что вы ищете, но в Kubernetes у вас есть kubectl diff.

Это хорошо объяснено на APIServer dry - run и kubectl diff .

Вы можете использовать опцию -k, --kustomize, которая выполняет:

Process каталог кастомизации. Этот флаг нельзя использовать вместе с -f или -R .

Или, может быть, чем-то похожим на однострочник для установки контекста для указания c namespace:

$ kubectl config set-context staging --user=cluster-admin --namespace=staging
$ kubectl config set-context prod --user=cluster-admin --namespace=prod

После настройки контекста вы можете использовать их, возможно, следующим образом:

kubectl config use-context staging; cat patched_k8s.yaml | kubectl config use-context prod; kubectl diff -f -

Это просто пример, который я не тестировал.

...