【问题标题】:jenkins kubernetes context not found找不到詹金斯 kubernetes 上下文
【发布时间】:2021-12-21 11:02:03
【问题描述】:

我的 groovy 管道有 3 个步骤(全部带有 shell):

  • 阶段 1: 向 GKE 集群进行身份验证并更新 kubeconfig
  • 第 2 阶段: helm install 在该集群上(使用 --context)
  • 第 3 阶段: kubectl 等待条件(使用 --context)

现在大多数时候这些作业运行良好,完全没有问题。 但是几天前它在第 3 阶段给了我这个错误:

error: context "..." does not exist

我无法弄清楚为什么这会失败一次,不幸的是我不再拥有该工作的完整日志。 很奇怪,因为 helm install 阶段的 context 起作用了,怎么突然找不到呢?

您认为什么会导致这个随机问题?以后如何避免呢?

【问题讨论】:

    标签: jenkins kubernetes groovy google-kubernetes-engine pipeline


    【解决方案1】:

    原因是您的 kubeconfig 文件中不存在 "..." 上下文。您可以运行 kubectl config view -o jsonpath='{.current-context}' 来检查当前上下文并使用该上下文。

    根据this document中的@设置kubectl与哪个Kubernetes集群通信并修改配置信息。

    【讨论】:

    • [Pipeline] sh [2021-11-15T05:59:04.033Z] + helm --kube-context prod get values website --namespace webapp --output json [2021-11-15T05:59:08.321Z] + cat /tmp/null.json [Pipeline] readJSON [Pipeline] echo [2021-11-15T05:59:08.351Z] GETTING CURRENT website VERSION ! [Pipeline] sh [2021-11-15T05:59:08.628Z] + helm list --kube-context prod -n webapp -o yaml [2021-11-15T05:59:08.628Z] Error: Kubernetes cluster unreachable: context "prod" does not exist 看看为什么它很奇怪?上面的命令适用于上下文,第二个找不到它。上下文存在
    • kubectl cluster-info 的输出是什么?看起来您的 kubeconfig 文件中没有定义默认上下文,请确保您已定义:current-context: yourcluster
    猜你喜欢
    • 2021-09-03
    • 1970-01-01
    • 2021-08-04
    • 2012-09-30
    • 2014-07-24
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多