The following steps describe a public setup using HTTPS with a domain name.
Prerequisites
These prerequisites require access to AWS with administrative privileges as they involve IAM work.
-
Follow the steps from AWS Load Balancer Controller to install the AWS Load Balancer controller in the EKS cluster.
Since CloudBees CI on modern cloud platforms 2.277.4.2,
networking/v1Ingress is used when supported. Consequently, if you use EKS version 1.19 or later, the AWS Load Balancer Controller 2.2.0 or later is required.Since CloudBees CI on modern cloud platforms 2.319.2.5, the attribute
.spec.ingressClassNameis added to Ingresses objects whennetworking/v1is supported. Consequently, if you use EKS version 1.19 or later, the AWS Load Balancer Controller requires that anIngressClassbe created but its deployment does not automatically provide one. Use AWS Load Balancer Controller version 2.3.0 or later with the helm valuecreateIngressClassResource: trueto make sure anIngressClassis automatically created. -
Create a certificate in AWS Certificate Manager for the required domain name. For
cloudbees-core.example.com, we recommend creating a certificate for*.cloudbees-core.example.comwhen setting up CloudBees CI on modern cloud platforms usingSubdomain: true. -
Set up External-DNS. Read the tutorial to set it up on AWS.
Configure your environment
Complete the following steps to configure your environment for the CloudBees CI on modern cloud platforms installation. You must have access to the EKS cluster.
|
CloudBees CI on modern cloud platforms uses Docker containers to run a cluster of computers within the Kubernetes container management system. You can optionally verify the CloudBees CI on modern cloud platforms Docker images to ensure their origin and authenticity. |
-
Add the CloudBees Helm chart repository as follows:
helm repo add cloudbees https://public-charts.artifacts.cloudbees.com/repository/public/ helm repo update -
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