Installing CloudBees CI on modern cloud platforms on EKS

3 minute read

The following steps describe a public setup using HTTPS with a domain name.


These prerequisites require access to AWS with administrative privileges as they involve IAM work.

  1. Follow the steps from AWS Load Balancer Controller to install the AWS Load Balancer controller in the EKS cluster.

  2. Create a certificate in AWS Certificate Manager for the required domain name.

Installing CloudBees CI on modern cloud platforms on EKS

These steps require access to the EKS cluster.

The OperationsCenter.HostName field is optional. However, a known issue has changed its behavior so that the installation fails unless you provide one. Until the issue is resolved, you must either configure a hostname during the installation, or change settings in the system properties before you attempt the installation. If necessary, you can use a tool like or to create a hostname from an IP address.

If you do not want to specify a hostname, you must configure the following system properties before you attempt the installation:

  1. Set to false.

  2. Configure com.cloudbees.networkingprotocol to use http or https, depending on your installation preferences.

  3. Make sure that CloudBees CI can reach the Jenkins hostname you enter for com.cloudbees.networking.hostname.

  4. Enter the port that the operations center runs on in com.cloudbees.networking.port.

  1. Add the CloudBees Helm chart repository as follows:

    helm repo add cloudbees
    helm repo update
  2. Before initiating an installation, type the following commands to create a namespace:

    kubectl create namespace cloudbees-core
    kubectl config set-context $(kubectl config current-context) --namespace=cloudbees-core

    Then proceed with the installation.

  3. Create a file named values.yaml with the following content.

      HostName: (1)
      Protocol: https (2)
      Platform: eks
        Class: alb
 internet-facing (3)
    1Replace with your domain name.
    2Remove to use http
    3Can be omitted in order to use an internal load balancer.

    Refer to the full list of annotations if more details are needed.

  4. Perform the installation.

    helm upgrade --install cloudbees-core \
                   cloudbees/cloudbees-core \
                   --namespace cloudbees-core \
                   -f values.yaml

Creating a DNS record

Look up the ALB host name using the following command

kubectl --namespace cloudbees-core get ingress cjoc -o go-template='{{ range .status.loadBalancer.ingress }}{{ .hostname}}{{"\n"}}{{end}}'

This should return something like k8s-cloudbees-aabbccddee-1234567890.<region> Create a CNAME (or an alias in route 53) DNS record targeting this name in order to access the CloudBees CI on modern cloud platforms deployment.

Verifying your CloudBees CI installation

The helm status command displays the status of the CloudBees CI release. This command is also executed after helm install and helm upgrade commands are executed.

The helm status command displays two areas of information:

  • Current CloudBees CI release

  • Installation notes

helm status cloudbees-core
NAME:   cloudbees-core
LAST DEPLOYED: Tue Apr 16 17:44:12 2019
NAMESPACE: cloudbees-core
1. Once operations center is up and running, get your initial admin user password by running:
  kubectl rollout status sts cjoc --namespace cloudbees-core
  kubectl exec cjoc-0 --namespace cloudbees-core -- cat /var/jenkins_home/secrets/initialAdminPassword
2. Visit

3. Sign in with the password from step 1.

Signing in to your CloudBees CI installation

Now that you’ve installed CloudBees CI and operations center, you’ll want to see your system in action.

  1. Type the following command to retrieve your administrative user password:

    kubectl exec cjoc-0 -- cat /var/jenkins_home/secrets/initialAdminPassword
  2. Open a browser to

  3. Sign in with the username admin and the password you retrieved.

For more information on running CloudBees CI on Kubernetes, see the CloudBees CI on modern cloud platforms administration guide.