Java Kubernetes连续部署插件存在问题

Java Kubernetes连续部署插件存在问题,java,kubernetes,jenkins-plugins,Java,Kubernetes,Jenkins Plugins,在使用Kubernetes Continuous Deploy插件将Kubernetes与Jenkins集成时,我遇到了以下错误 这个插件一直工作到Jenkins版本2.190.3,但在升级Jenkins之后,它开始出现以下错误 下面的错误看起来像Yaml文件的问题,但当我手动执行时,Yaml文件工作正常 即使是我也无法降低库伯内特斯版本的评级 Jenkins Version : 2.235.2 Kubernetes Continuous Deploy Plugin : 2.3.0 13:19:

在使用Kubernetes Continuous Deploy插件将Kubernetes与Jenkins集成时,我遇到了以下错误

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

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

即使是我也无法降低库伯内特斯版本的评级

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)

谢谢,

您描述的问题正在github中讨论,但尚未解决

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

目前还没有修复方法,但是有,也许在中可以帮助您

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

目前我找到的解决办法是将Jackson2API降级为 v2.10.3,并将Snakeyaml API降级至v1.26.2。如果这两个插件 已更新到各自的最新版本,错误消息 回来了

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

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

  • 降级插件版本
  • Jackson 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
    
    希望这能帮助你

    谢谢VKR

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

    下面是我的配置

    詹金斯版本:2.235.3

    谢谢