确保kubectl在正确的上下文中运行

时间:2018-05-15 13:37:18

标签: kubernetes

考虑一个简单的脚本:

kubectl create -f foo.yaml
kubectl expose deployment foo

似乎存在竞争条件,并且无法保证第二个命令的上下文在与第一个命令相同的上下文中运行。 (考虑用户在脚本运行时转到另一个shell并调用kubectl config set-context。)如何解决?我如何确保一致性?

1 个答案:

答案 0 :(得分:2)

我建议始终使用--context标志:

$ kubectl options | grep context
      --context='': The name of the kubeconfig context to use

对于每个kubectl命令,以便定义上下文并防止问题中描述的问题:

ENV=<env_name>
kubectl create --context=$ENV -f foo.yaml
kubectl expose --context=$ENV deployment foo