同时将"kubectl config use-context"输入到两个不同的集群会导致 Jenkins 作业出现问题



在jenkins作业A和B中,这两个作业都在同一台机器上执行到两个不同的集群。当";kubectl配置使用上下文";在两个作业中都输入了命令。他们犯了以下错误。如何处理。

看起来使用上下文会更改文件,同时从两个作业执行会导致问题。

工作A:

  • kubectl配置使用上下文arn:aws:eks:us-west-2:XYZXYZXYZ:cluster/ABC错误:加载配置文件时出错/home/ubuntu/.kube/config":yaml:第29行:找不到预期的":">

作业B:

  • kubectl配置使用上下文arn:aws:eks:us-west-2:XYZXYZXYZ:cluster/CBD错误:加载配置文件时出错/home/ubuntu/.kube/config":yaml:第29行:找不到预期的":">

您不需要发出"使用上下文";(是的,确实写入$KUBECONFIG(--kubectl有--context参数,允许您指定每次调用要使用的上下文:

# job A
$ kubectl --context "arn:aws:eks:us-west-2:XYZXYZXYZ:cluster/ABC" get nodes
# job B
$ kubectl --context "arn:aws:eks:us-west-2:XYZXYZXYZ:cluster/CBD" get nodes

然而,如果您有很多这样的命令,那可能会变得乏味。在这种情况下,只需复制原始$KUBECONFIG,然后在作业中设置KUBECONFIGenv var以指向本地的、有效的一次性的:

cp ${KUBECONFIG:-$HOME/.kube/config} job-X.kubeconfig
export KUBECONFIG=$PWD/job-X.kubeconfig
# some copies of kubectl whine if the permissions are too broad
chmod 0600 $KUBECONFIG
# now your use-context is safe to perform
kubectl config use-context "arn:aws:eks:us-west-2:XYZXYZXYZ:cluster/ABC"
kubectl get nodes

相关内容

  • 没有找到相关文章

最新更新