For details about supported platforms for CloudBees CI on modern cloud platforms, such as supported Kubernetes, Helm, and NFS versions, refer to Supported platforms for CloudBees CI on modern cloud platforms.
Installing cbsupport
Before installing CloudBees CI on modern cloud platforms, you should install the cbsupport
command-line tool. You can use cbsupport
to collect data commonly required for supporting CloudBees products. You can then send that data to the CloudBees Support team to troubleshoot any issues with your CloudBees CI on modern cloud platforms solution.
For instructions on how to install cbsupport
, refer to the cbsupport CLI documentation.
TKGI requirements
The following items are required to install CloudBees CI on modern cloud platforms on PKS:
-
On your local computer or a bastion host:
-
A Kubernetes client with a currently supported version of Kubernetes, installed and configured (
kubectl
). Beta releases are not supported. -
TKGI CLI (See Installing the TKGI CLI for instructions).
-
-
A TKGI cluster running a currently supported version of Kubernetes. Beta releases are not supported.
-
Cluster nodes configured with at least 2 CPU and 4 GB of memory.
-
The cluster must have network access to container images (public Docker Hub or a private Docker Registry).
-
-
A namespace in the cluster (provided by your admin) with permissions to create
Role
andRoleBinding
objects. -
Kubernetes cluster Default Storage Class defined and ready to use.
-
Refer to the Reference Architecture for TKGI - Storage Requirements for more information.
-
Storage requirements
Dynamic provisioning is required to create persistent volumes. If you don’t enable dynamic provisioning, you will have to manually create a persistent volume.
Because Jenkins is highly dependent upon the filesystem, the underlying storage provider must provide minimal input/output operations per second (IOPS) and latency.
Ingress requirements
CloudBees CI creates one Ingress object for the operations center and one for each controller. If you do not use subdomains, the operations center and controllers share the same hostname by default. Therefore, you must use an Ingress controller that supports multiple Ingresses using the same hostname.
Inbound agents use WebSockets to connect to controllers, so the Ingress controller and the corresponding load balancer should support WebSockets.
If you use TCP to connect to inbound agents, the only supported Ingress controller is NGINX Ingress Controller.
If you use the NGINX Ingress Controller, an IngressClass
object is required.
The CloudBees CI on modern cloud platforms installation will fail without one.
For more information, refer to What is an IngressClass and why is it important for users of Ingress NGINX Controller now?
Creating your TKGI cluster
To create a TKGI Kubernetes cluster follow the Create Cluster instructions from Pivotal for your TKGI installation type.
More information is available from Pivotal for Managing TKGI Clusters and Using TKGI Clusters.
More information on Kubernetes concepts is available from the Kubernetes site, including: