Installing Jenkins on OVHcloud Managed Kubernetes
Find out how to install Jenkins on OVHcloud Managed Kubernetes
Find out how to install Jenkins on OVHcloud Managed Kubernetes
Last updated December 20 2021.
In this tutorial we are going to guide you with the install of Jenkins on your OVHcloud Managed Kubernetes Service.
We are going to install Jenkins master and slave cluster utilizing the Jenkins Kubernetes plugin.
This tutorial presupposes that you already have a working OVHcloud Managed Kubernetes cluster, and some basic knowledge of how to operate it. If you want to know more on those topics, please look at the OVHcloud Managed Kubernetes Service Quickstart.
You also need to have Helm installer on your workstation and your cluster, please refer to the How to install Helm on OVHcloud Managed Kubernetes Service tutorial.
We (the OVHcloud Managed Kubernetes Service team) are working on a patch to be released in early 2022. In the meantime, please remove the default storage class and install the new one.
StorageClass
that you are using by default kubectl delete storageclasses.storage.k8s.io csi-cinder-high-speed
It will delete the existing StorageClass
:
$ kubectl delete storageclasses.storage.k8s.io csi-cinder-high-speed
storageclass.storage.k8s.io "csi-cinder-high-speed" deleted
StorageClass
with the required fixkubectl apply -f https://raw.githubusercontent.com/ovh/docs/develop/pages/platform/kubernetes-k8s/fix-persistent-volumes-permissions/files/fixed-cinder-high-speed-storage-class.yaml
It will apply the correct StorageClass
YAML manifest:
$ kubectl apply -f https://raw.githubusercontent.com/ovh/docs/develop/pages/platform/kubernetes-k8s/fix-persistent-volumes-permissions/files/fixed-cinder-high-speed-storage-class.yaml
storageclass.storage.k8s.io/csi-cinder-high-speed created
As with Helm 2, the official Helm stable
repository is currently deprecated.
The Helm community is currently transitioning to a hub model, with a Helm Hub, where charts can be searched using helm search hub <keyword>
As most charts from the Helm stable repository have been transferred to the Bitnami repository we are using it in the tutorial.
For this tutorial we are using the Jenkins Helm chart found on Bitnami Helm repositories.
The chart is fully configurable, but here we are using the default configuration.
Maybe you would like your admin username to be different, or be able to set your admin password, or modify the resources allocated...
In order to customize your install, without having to leave the simplicity of using helm and the Jenkins helm chart, you can simply set some of the configurable parameters of the Jenkins chart. Then you can add it to your helm install
with the --set
option (--set param1=value1,param2=value2
)
helm install my-first-jenkins bitnami/jenkins
This will install your Jenkins master:
$ helm install my-first-jenkins bitnami/jenkins
NAME: my-first-jenkins
LAST DEPLOYED: Mon Dec 20 11:30:59 2021
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: jenkins
CHART VERSION: 8.0.22
APP VERSION: 2.319.1
** Please be patient while the chart is being deployed **
1. Get the Jenkins URL by running:
** Please ensure an external IP is associated to the my-first-jenkins service before proceeding **
** Watch the status using: kubectl get svc --namespace default -w my-first-jenkins **
export SERVICE_IP=$(kubectl get svc --namespace default my-first-jenkins --template "{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}")
echo "Jenkins URL: http://$SERVICE_IP/"
2. Login with the following credentials
echo Username: user
echo Password: $(kubectl get secret --namespace default my-first-jenkins -o jsonpath="{.data.jenkins-password}" | base64 --decode)
As the instructions say, you will need to wait a few moments to get the LoadBalancer
URL.
You can test if the LoadBalancer
is ready using:
kubectl get svc --namespace default -w my-first-jenkins
After some minutes, you will get the LoadBalancer
URL:
$ kubectl get svc --namespace default -w my-first-jenkins
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
my-first-jenkins LoadBalancer 10.3.3.52 80:32193/TCP,443:32260/TCP 49s
my-first-jenkins LoadBalancer 10.3.3.52 152.228.169.118 80:32193/TCP,443:32260/TCP 54s
The URL under EXTERNAL-IP
is your Jenkins URL. You can the follow the instructions on the Helm Chart to get the connection parameters. In my case:
$ export SERVICE_IP=$(kubectl get svc --namespace default my-first-jenkins --template "{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}")
$ echo "Jenkins URL: http://$SERVICE_IP/"
Jenkins URL: http://152.228.169.118/
$ echo Username: user
Username: user
$ echo Password: $(kubectl get secret --namespace default my-first-jenkins -o jsonpath="{.data.jenkins-password}" | base64 --decode)
Password: KMhUs53TJT
And putting the URL in your browser will take you to the new Jenkins:
Log in with user admin
and the password you got before. And here you have your Jenkins:
You have a working Jenkins on your OVHcloud Managed Kubernetes Service, congratulations!
To clean up your cluster, simply use Helm to delete your Jenkins release.
helm delete my-first-jenkins
It will delete your Jenkins and its associated resources from your cluster:
$ helm delete my-first-jenkins
release "my-first-jenkins" uninstalled
Zachęcamy do przesyłania sugestii, które pomogą nam ulepszyć naszą dokumentację.
Obrazy, zawartość, struktura - podziel się swoim pomysłem, my dołożymy wszelkich starań, aby wprowadzić ulepszenia.
Zgłoszenie przesłane za pomocą tego formularza nie zostanie obsłużone. Skorzystaj z formularza "Utwórz zgłoszenie" .
Dziękujemy. Twoja opinia jest dla nas bardzo cenna.
Dostęp do OVHcloud Community Przesyłaj pytania, zdobywaj informacje, publikuj treści i kontaktuj się z innymi użytkownikami OVHcloud Community.
Porozmawiaj ze społecznością OVHcloud