By default external access to the Jenkins UI port isn't available. This is easily changed by applying the following YAML to apply ingress via traefik to your cluster with
kubectl apply -f jenkins-ingress.yaml (or whatever you call the file containing the contents below):
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: jenkins-ingress namespace: jenkins annotations: traefik.ingress.kubernetes.io/router.entrypoints: web spec: rules: - host: jenkins.your-cluster-id.k8s.civo.com http: paths: - path: / pathType: Prefix backend: service: name: jenkins port: number: 8080
This will open up http://jenkins.YOUR-CLUSTER-ID.k8s.civo.com to the whole world. You should lock this down in the firewall automatically created in Civo for your Kubernetes cluster. Locking down the firewall will only affect access from OUTSIDE of your Kubernetes cluster, access from your applications within Kubernetes will not be affected.
You can use this application from within your cluster by just using the hostname
jenkins, so jenkins agents can use the hostname
jenkins and the port
50000. The username and password for jenkins is set via environment variables,
JENKINS_PASSWORD using the username and password presented in the Web UI and CLI.