Use these instructions to install Continuous Delivery for PE in an air-gapped or offline environment where the Continuous Delivery for PE host server does not have direct access to the internet.
- Review the system
requirements.While Continuous Delivery for PE can be installed on a single server, installing on three servers is recommended to provide redundancy. Each server must meet the following minimum requirements:
Memory Storage CPUs Open ports 8 GB
At least 60 GB for
At least 32 GB for
- At least 40 GB for
4 (or equivalent)
TCP: 443, 2379,2380, 6443, 6783, 8000, 8800, and 10250
UDP: 6783 and 6784Note: If Continuous Delivery for PE is used by more than one team in your organization, allocate additional storage space to
/opt/replicatedto support the increased load on the system.Note: Swap, Firewalld, and SELinux are not supported for use with this version of Continuous Delivery for PE. The installation script will attempt to disable these services if they are present.
- Ensure that IP address ranges
10.32.0.0/22are locally accessible. See Resolving IP address range conflicts for instructions.
- Ensure that the nodes can resolve their own hostnames, through either local host mapping or a reachable DNS server.
Create a DNS entry for the Continuous Delivery for PE
service. This entry is separate from the DNS entry for the host Continuous Delivery for PE is installed on.
If you decide to use a high availability architecture for your installation, this DNS entry will be pointed at a load balancer. Once installation is complete, we'll walk you through the optional process of setting up the load balancer and adding additional control plane nodes to enable high availability.
From a workstation with internet access, download the cluster install bundle
(note that this bundle is ~3GB):
Copy the install bundle to the host node and unpack it:
tar xzf cd4pe-bundle
Run the install command:
cat install.sh | sudo bash -s airgap ha
- When prompted for a load balancer address, enter the address of the DNS entry for the Continuous Delivery for PE service that you created in step 1.
The installation script will print the address and password (only shown
once, so make careful note of it) for the platform admin console:
--- Kotsadm: http://<PLATFORM ADMIN CONSOLE ADDRESS>:8800 Login with password (will not be shown again): <PASSWORD> ---Note: If you lose this password or wish to change it, see Resetting the platform admin console password for instructions.
After installation is complete, navigate to the platform admin console using
the address provided by the installation script and follow the prompts.
The platform admin console is where you manage the Continuous Delivery for PE application. You’ll be guided through the process of setting up SSL certificates, uploading a license, and checking to make sure your infrastructure meets Continuous Delivery for PE system requirements.
When prompted, upload an
.airgapbundle for the most recent version of Continuous Delivery for PE. Available bundles are shown in the following chart:
Version Release date Airgap bundle 4.1.3 15 October 2020 https://cd4pe-builds.s3.amazonaws.com/stable/cd4pe-4.1.3.airgap 4.1.2 8 October 2020 https://cd4pe-builds.s3.amazonaws.com/stable/cd4pe-4.1.2.airgap 4.1.1 29 September 2020 https://cd4pe-builds.s3.amazonaws.com/stable/cd4pe-4.1.1.airgap 4.0.1 14 September 2020 https://cd4pe-builds.s3.amazonaws.com/stable/cd4pe-4.0.1.airgap 4.0.0 25 August 2020 https://cd4pe-builds.s3.amazonaws.com/stable/cd4pe-4.0.0.airgap
To configure your installation click Config.
- In the Hostname field, enter the name of the DNS entry for the Continuous Delivery for PE service that you created in step 1.
- Set up the Continuous Delivery for PE root user account: enter an email address and choose a password.
- Configure any other settings on the page relevant to your installation, such as external databases, customized endpoints, or TLS certificates.
- When you've finished making any necessary changes to the configuration, click Save config. Saving your new configuration settings prompts the creation of a new Continuous Delivery for PE version.
- Click Go to new version, which redirects you to the Version history tab. The newly created version is shown in the All versions section of the page.
Monitor the new version's preflight checks. The Running
Checks indicator is shown on the screen while Continuous Delivery for PE checks your system to make sure your cluster
meets minimum system requirements. When the preflight check is complete:
- If the status is Checks Failed, click
View preflights. Correct the issues and click
Re-run. Repeat this step as needed.Important: Do not move on until all preflight checks pass.
- If the status is Ready to Deploy, move on to the next step.
- If the status is Checks Failed, click View preflights. Correct the issues and click Re-run. Repeat this step as needed.
Once the version is ready to deploy, click Deploy. On
the Application tab, monitor the application for
The application's status is shown as Missing for several minutes while deployment is underway. To monitor the deployment's progress, run
kubectl get pods --watch.
When the deployment is complete, the application status changes to Ready.
Installation is now complete! Navigate to
https://<HOSTNAME>(using the name of the DNS entry you created in step 1 and entered on the Config screen in step 4a) and sign into Continuous Delivery for PE.
- If you're upgrading to the 4.x series from a version in the 3.x series, see Migrating 3.x data to 4.x.
- If you're new to Continuous Delivery for PE, see Getting started with Continuous Delivery for PE to learn about the software's core features and workflows.
- To make sure your new installation is highly dependable and fault-tolerant, follow the instructions in Enable high availability.
Resolving IP address range conflicts
When installing in an offline environment, IP address ranges
10.32.0.0/22 must be locally
accessible. To resolve IP address range conflicts, create a
patch.yaml file and add the
argument when running the installation script.
10.32.0.0/22, add the following to your
10.40.0.0/22used here as an example range):
apiVersion: cluster.kurl.sh/v1beta1 kind: Installer metadata: name: patch spec: weave: podCIDR: 10.40.0.0/22
10.96.0.0/22, add the following to your
10.100.0.0/16used here as an example range):
spec: ... kubernetes: serviceCIDR: 10.100.0.0/16
serviceCIDRranges must not overlap.
patch.yamlfile is set up, add the
installer-spec-file=patch.yamlargument when you run the installation script:
cat install.sh | sudo bash -s airgap installer-spec-file=patch.yaml
installer-spec-file=patch.yamlargument any time you re-run the installation script, such as when reinstalling to upgrade to a new version.