kubernetes 限制将kustomize覆盖应用于特定群集

icnyk63a  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(95)

如果KUBECONFIG未设置为正确的群集,kustomize是否有方法拒绝应用覆盖。我正在考虑创建一个shell脚本来实现这一点,有更好的方法吗?
我们使用kubectl apply -k overlays/foo进行叠加。KUBECONFIG被设置为错误的集群,从而破坏了配置并造成了严重破坏。

pvcm50d1

pvcm50d11#

剧本似乎是目前唯一的办法。也许有人也可以使用它。CONTEXT文件的内容是应该使用的上下文。

#!/bin/bash
if [ ! -n "$1" ]
then
  echo "usage: apply-with-check overlay/foo"
  exit 1
fi

if [ ! -f "$1/CONTEXT" ]; then
  echo "CONTEXT missing, won't apply!"
  exit 1
fi

CONTEXT_TO_USE=$(<$1/CONTEXT)

echo "checking context: $CONTEXT_TO_USE"

CURRENT_CONTEXT=$(kubectl config current-context)

if [[ $CONTEXT_TO_USE != $CURRENT_CONTEXT ]]; then
  echo "ALARM! current context is: $CURRENT_CONTEXT **not applying**"
  exit 1
fi

echo "ok, current context is: $CURRENT_CONTEXT, now applying"
kubectl apply -k $1

相关问题