6

I find the documentation at https://github.com/jenkinsci/kubernetes-plugin quite unclear when it comes to step by step configuration of external Jenkins master.

What are the exact steps that need to be followed? I have installed the Kubernetes plugin and I have tried to supply some cluster info, but I have got lost there.

For Name I have taken the output from kubectl config view --raw, specifically the context for the given cluster and the cluster name part.

For Kubernetes URL I have set the IP address from the Server field in the same output from above.

Kubernetes server certificate key - for this part I have initially tried to follow the same pattern from above and take the value of the certificate-authority-data field, but I got an "Error testing connection https://XX.XXX.XXX.XX: java.security.cert.CertificateException: Could not parse certificate: java.io.IOException: Empty input", so I have attempted to convert that value with echo "the field value here" | base64 -d > ca.crt and use that, but it failed again and I have also got it form the UI for GKE show cluster ceritficate section, all of them give me failure on testing connection with the error from above.

I couldn't really go past this point, but I see everything being quite unclear forward, so I would appreciate a step-by-step recommendation or any guide that I am missing.

2
  • Thank you for posting a question. Could you modify the question so that it contains the attempts you have done in order to solve the issue? What type of Linux, e.g. Ubuntu, Centos? What commands were run? How does the configuration look like? What does the log indicate?
    – 030
    Dec 31, 2019 at 18:19
  • Have you ever been able to figure this out? I am also stuck on this and the directions on the plugin page leave a lot to be desired.
    – senfo
    Mar 7, 2021 at 12:45

2 Answers 2

1

It looks like you are missing the service account configurations bit. Refer to : https://devopscube.com/jenkins-build-agents-kubernetes/

If your Jenkins server is running outside the Kubernetes cluster, you need to specify the following.

  1. Kubernetes URL: This is the Kubernete master API endpoint. If is it https enabled, use the https url.
  2. Kubernete Server Certificate key: If you have a the Kubernetes Cluster CA certificate, you can add it for secure connectivity. You can get the certificate from the pod location /var/run/secrets/kubernetes.io/serviceaccount/ca.crt .If you dont have the certificate, you can enable the “disable https certificate check” option.
  3. Credentials: For Jenkins to communitcate with the Kubernetes cluster, we need a service account token with permissions to deploy pods in the devops-tools namespace.
-1

You could install Jenkins using helm to install the k8s plugin as well.

https://github.com/helm/charts/tree/master/stable/jenkins

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.