Cluster and storage requirements
-
Kubernetes cluster and Helm: see Kubernetes cluster requirements.
-
Database instance
-
For a production environment installation, see Database instance for details.
-
For a non-production environment installation, the CloudBees CD/RO Helm chart automatically installs a MariaDB database instance as a built-in database.
-
Non-production environment
Cluster capacity
The table below specifies the default memory and CPU requested for each CloudBees CD/RO component in a non-production environment.
CloudBees CD/RO component/service | CPU | Memory |
---|---|---|
CloudBees CD/RO Server |
Per replica: 1.5 CPU, Default number of replicas: 1 |
Per replica: 6 GiB (Memory assigned to CloudBees CD/RO JVM: 4 GiB) |
Web Server |
0.25 CPU |
256 MiB |
DevOps Insight Server |
Per replica: 0.1 CPU, Default number of replicas: 1 |
Per replica: 2 GiB (Memory assigned to Elasticsearch JVM: 1 GiB) |
Repository Server |
0.25 CPU |
512 MiB (Memory assigned to Repository JVM: 512 MiB) |
CloudBees CD/RO Agent (Bound) |
0.25 CPU |
512 MiB (Memory assigned to Agent JVM: 256 MiB) |
Production environment
Cluster capacity
For current cluster capaccity and sizing specifications, see Kubernetes cluster requirements.
Separate database instance
You must configure a separate database for your installation of CloudBees CD/RO before you initiate the installation. For current database server and sizing specifications, see Database server specifications.
Database configuration
The database can be installed inside or outside the cluster. Update the database
section in the cloudbees-cd-defaults.yaml
file that is specified when installing the cloudbees-flow
chart. See the Database Values section in Configuration values.
Persistent Storage
CloudBees CD/RO components need varying levels of persistent storage.
-
Non-shared storage: A disk or file system that cannot be shared between two pods or two nodes. Examples include AWS EBS, GCP Persistent Disk, and Azure Disk.
-
Shared storage: A disk or file system that can be shared between two pods or two nodes. Examples include AWS EFS, GCP NFS Server, and Azure Filestore.
Consult the table below for storage requirements.
CloudBees CD/RO component/service | Storage type | Storage amount | Mount point |
---|---|---|---|
Shared storage |
|||
CloudBees CD/RO Server CloudBees CD/RO Agent (bound) |
|
5 GiB |
|
Repository Server |
|
20 GiB |
|
Non-shared storage |
|||
DevOps Insight Server |
|
Per replica: 4, 10 GiB Default number of replicas: 3 |
|
CloudBees CD/RO Agent (worker) |
|
5GiB |
|
Zookeeper |
|
CloudBees CD/RO server persistent volume provisioning
Update the storage
section in the cloudbees-cd-defaults.yaml
file specified when installing the cloudbees-flow
chart. See Storage values for details.
CloudBees CD/RO agent persistent volume provisioning
Update the storage
section in the cloudbees-cd-agent-defaults.yaml
file specified when installing the cloudbees-flow-agent
chart. See Storage values for details.
Creating persistent shared storage
Create persistent shared storage on Google Cloud Platform or Amazon EKS. To get started, clone the cloudbees-example
repo and then use the follow instructions.
-
Google Cloud Platform: Use Filestore to create a fully-managed NFS file server on Google Cloud.
Find information and scripts to provision a Google Cloud Filestore instance in the
cloudbees-examples
repo. -
Amazon EKI: Use Amazon Elastic File System (EFS) to create fully-managed persistent storage.
Find information and scripts to provision an EFS instance in the
cloudbees-examples
repo.