【问题标题】:Kubernetes Continuous Deploy Plugin having issuesKubernetes 持续部署插件有问题
【发布时间】:2023-03-09 11:50:02
【问题描述】:

我在使用 Kubernetes Continuous Deploy 插件将 Kubernetes 与 Jenkins 集成时遇到错误。

这个插件一直工作到 Jenkins 版本 2.190.3,但在升级 jenkins 后它开始出现以下错误。

以下错误看起来像是 Yaml 文件的问题,但当我手动执行时,yaml 文件工作正常。

即使我无法降级 kubernetes 版本。

Jenkins Version : 2.235.2
Kubernetes Continuous Deploy Plugin : 2.3.0
13:19:19 Starting Kubernetes deployment
13:19:19 Loading configuration: /var/jenkins_home/workspace/bom_sso/bom_rs_deployment.yaml
13:19:19 ERROR: ERROR: Can't construct a java object for tag:yaml.org,2002:io.kubernetes.client.openapi.models.V1Deployment; exception=Class not found: io.kubernetes.client.openapi.models.V1Deployment
13:19:19 in 'reader', line 1, column 1:
13:19:19 apiVersion: apps/v1
13:19:19 ^
13:19:19
13:19:19 hudson.remoting.ProxyException: Can't construct a java object for tag:yaml.org,2002:io.kubernetes.client.openapi.models.V1Deployment; exception=Class not found: io.kubernetes.client.openapi.models.V1Deployment
13:19:19 in 'reader', line 1, column 1:
13:19:19 apiVersion: apps/v1
13:19:19 ^
13:19:19
13:19:19 at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:336)
13:19:19 at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:230)

谢谢,

【问题讨论】:

    标签: java kubernetes jenkins-plugins


    【解决方案1】:

    您描述的问题正在ERROR: ERROR: java.lang.RuntimeException: io.kubernetes.client.openapi.ApiException: Not Found #122 github 中讨论,仍未解决。

    这对于使用 Jenkins 版本的每个人来说都是非常实际的:2.235.1 +,不确定 2.190.3

    目前还没有修复,但是有1 workaround,也许对你有帮助

    我在运行 Kubernetes v1.18.3 时遇到了同样的问题。我正在运行 Jenkins v2.235.1,我的所有插件都是最新的。

    我现在找到的解决方法是将 Jackson 2 API 降级为 v2.10.3 并将 Snakeyaml API 降级到 v1.26.2。如果这两个插件 更新到各自的最新版本,错误信息 回来了。

    为了强制降级这两个插件,你可以手动删除 它们从插件文件夹中,并将 HPI 文件直接上传到 詹金斯。确保上传上面列出的正确版本。

    这是一个丑陋的解决方法,绝不应将其视为 “修复”。

    1. 降级插件版本

    杰克逊 2 API v2.10.0,

    Kubernetes v1.21.3,

    Kubernetes 客户端 API v4.6.3-1,

    Kubernetes 持续部署 v2.1.2,

    Kubernetes 凭证 v0.5.0

    2) 检查 dns 是否正常工作(非常重要) 2a)修改设置,按需定制

    kubectl edit cm coredns -n kube-system
    apiVersion: v1
    data:
      Corefile: |
        eureka cluster.local:53 {
            errors
            health {
               lameduck 5s
            }
            ready
            kubernetes cluster.local in-addr.arpa ip6.arpa {
               pods insecure
               fallthrough in-addr.arpa ip6.arpa
               ttl 30
            }
            prometheus :9153
            forward . /etc/resolv.conf
            cache 30
            loop
            reload
            loadbalance
        }
        .:53 {
            errors
            health {
               lameduck 5s
            }
            ready
            kubernetes cluster.local in-addr.arpa ip6.arpa {
               pods insecure
               fallthrough in-addr.arpa ip6.arpa
               ttl 30
            }
            prometheus :9153
            forward . 8.8.8.8
            cache 30
            loop
            reload
            loadbalance
        }
    kind: ConfigMap
    metadata:
      creationTimestamp: "2020-07-24T21:09:19Z"
      managedFields:
      - apiVersion: v1
        fieldsType: FieldsV1
        fieldsV1:
          f:data: {}
        manager: kubeadm
        operation: Update
        time: "2020-07-24T21:09:19Z"
      - apiVersion: v1
        fieldsType: FieldsV1
        fieldsV1:
          f:data:
            f:Corefile: {}
        manager: kubectl
        operation: Update
        time: "2020-07-27T05:30:57Z"
      name: coredns
      namespace: kube-system
      resourceVersion: "952988"
      selfLink: /api/v1/namespaces/kube-system/configmaps/coredns
      uid: 5a7fc41c-01a7-480a-89bd-82ab3070401c
    

    2b)然后重启dns

    kubectl get pods -n kube-system -oname |grep coredns |xargs kubectl delete -n kube-system
    

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      感谢 VKR,

      但幸运的是它在 Jenkins 2.235.3 版本中得到了修复。

      以下是我的配置。

      Jenkins 版本:2.235.3

      谢谢,

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-10-07
        • 1970-01-01
        • 1970-01-01
        • 2019-10-01
        • 1970-01-01
        • 2020-04-28
        • 2019-09-15
        相关资源
        最近更新 更多