Install in an offline environment

Sections

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.

Before you begin
Note: Installing Continuous Delivery for PE by using an existing instance of the platform admin console (such as the one created when installing Puppet Comply) is not currently supported. Follow the instructions on this page to create a dedicated Continuous Delivery for PE instance of the platform admin console.
  1. 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
    16 GB
    • At least 200 GB for /opt/replicated

    • At least 32 GB for /var/lib/kubelet

    • At least 40 GB for /var/lib/containerd
      Note: If you first installed the platform admin console prior to 7 December 2020, you can safely continue to allocate 40 GB of storage to /var/lib/docker instead.
    8 (or equivalent)

    TCP: 443, 2379,2380, 6443, 6783, 8000, 8800, and 10250

    UDP: 6783 and 6784

    Note: If Continuous Delivery for PE is used by more than one team in your organization, allocate additional storage space to /opt/replicated to 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.
  2. Ensure that IP address ranges 10.96.0.0/22 and 10.32.0.0/22 are locally accessible. See Resolve IP address range conflicts for instructions.
  3. Ensure that the nodes can resolve their own hostnames, through either local host mapping or a reachable DNS server.
This installation process results in a basic Continuous Delivery for PE instance that is configured for optional high availability. Installation will take several (mostly hands-off) minutes to complete, so get yourself a snack to enjoy during the process.
  1. 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.
  2. From a workstation with internet access, download the cluster installation bundle (note that this bundle is ~3GB):
    https://pup.pt/cd4pe-bundle
  3. Copy the installation bundle to the host node and unpack it:
    tar xzf cd4pe-bundle
  4. Run the installation command:
    cat install.sh | sudo bash -s airgap ha 
    1. 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.
    2. 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.
  5. 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.
  6. When prompted, upload an .airgap bundle for the most recent version of Continuous Delivery for PE. Available bundles are shown in the following chart:
  7. To configure your installation click Config.
    1. In the Hostname field, enter the name of the DNS entry for the Continuous Delivery for PE service that you created in step 1.
    2. Set up the Continuous Delivery for PE root user account: enter an email address and choose a password.
    3. Configure any other settings on the page relevant to your installation, such as external databases, customized endpoints, or TLS certificates.
    4. 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.
  8. 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.
  9. 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.
  10. Once the version is ready to deploy, click Deploy. On the Application tab, monitor the application for readiness.
    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.

  11. 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.
What to do next
How helpful was this page?

If you leave us your email, we may contact you regarding your feedback. For more information on how Puppet uses your personal information, see our privacy policy.

Puppet sites use proprietary and third-party cookies. By using our sites, you agree to our cookie policy.