Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Class not found: io.kubernetes.client.openapi.models.V1Service

I get the following error when trying to use the YAML file from my GitRepo to deploy to kube cluster. Console errors

Here is the content of my .yaml file:

apiVersion: v1
kind: Service
metadata:
  name: ts-service
spec:
  type: NodePort
  selector:
    app: ts
  ports:
  - protocol: TCP
    port: 8080
    nodePort: 8080

---

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ts-deployment
  labels:
    app: ts
spec:
  replicas: 2
  selector:
    matchLabels:
      app: ts
  template:
    metadata:
      labels:
        app: ts
    spec:
      containers:
      - name: ts
        image: $DOCKER_IMAGE_NAME:$BUILD_NUMBER
        ports:
        - containerPort: 8080

I've already tried changing the ports, the API version to apps/v1, etc. What seems weird to me is that no matter which line goes foirst in the file, it always shows me the same issue. What can be causing this?

like image 303
Abraham Avatar asked Jul 02 '20 04:07

Abraham


1 Answers

I found the root cause of this behaviour. Jackson 2 API plugin version 2.11.1 is breaking kube deployments; you can find more info by the link below:
https://issues.jenkins-ci.org/browse/JENKINS-62995

Downgrading the following plugins worked for me: Jackson 2 API v2.10.0,
Kubernetes v1.21.3,
Kubernetes Client API v4.6.3-1,
Kubernetes Continuous Deploy v2.1.2,
Kubernetes Credentials v0.5.0

As those plugins are default, you would need to find the relevant version source files in https://plugins.jenkins.io/, and upload them to your Jenkins server by going
Manage Jenkins --> Manage Plugins --> Advanced --> Upload Plugin section

like image 117
Abraham Avatar answered Sep 29 '22 13:09

Abraham