Skip to main content
Skip table of contents

Load the Images into Your Registry: Air-gapped, Pre-provisioned Environments

Because air-gapped environments do not have direct access to the Internet, you must download, extract and load several required images to your local container registry, before installing DKP.

Download all Images for Air-gapped Deployments

If you are operating in an air-gapped environment, a local container registry containing all the necessary installation images, including the Kommander images is required. See below for prerequisites to download and then how to push the necessary images to this registry.

Connectivity with clusters attaching to the management cluster is required:

  1. Both management and attached clusters must be able to connect to the local registry.

  2. The management cluster must be able to connect to all attached cluster’s API servers.

  3. The management cluster must be able to connect to any load balancers created for platform services on the management cluster.

Extract Air-gapped Images and Set Variables

Follow these steps to extract the air-gapped image bundles into your private registry:

  1. Assuming you have downloaded dkp-air-gapped-bundle_v2.8.1_linux_amd64.tar.gz , extract the tarball to a local directory:

    CODE
    tar -xzvf dkp-air-gapped-bundle_v2.8.1_linux_amd64.tar.gz
  2. The directory structure after extraction can be accessed in subsequent steps using commands to access files from different directories. EX: For the bootstrap, change your directory to the dkp-<version> directory similar to example below depending on your current location:

    CODE
    cd dkp-v2.8.1
  3. Set an environment variable with your registry address:

    CODE
    export REGISTRY_URL="<https/http>://<registry-address>:<registry-port>"
    export REGISTRY_USERNAME=<username>
    export REGISTRY_PASSWORD=<password>

Only Pre-provisioned: Load Images for Deployments - Konvoy

For Pre-provisioned air-gapped environments only, you must run konvoy-image upload artifacts to copy the artifacts onto the cluster hosts before you begin the Upgrade the CAPI Components process later in the upgrade steps.

  1. The Kubernetes image bundle will be located in kib/artifacts/images and you will want to verify image and artifacts.

    1. Verify the image bundles exist in kib/artifacts/images:

      CODE
      $ ls kib/artifacts/images/
      kubernetes-images-1.28.7-d2iq.1.tar kubernetes-images-1.28.7-d2iq.1-fips.tar
    2. Verify the artifacts for your OS exist in the kib/artifacts/ directory and export the appropriate variables:

      CODE
      $ ls kib/artifacts/
      1.28.7_centos_7_x86_64.tar.gz	    1.28.7_redhat_8_x86_64_fips.tar.gz			            containerd-1.6.28-d2iq.1-rhel-7.9-x86_64.tar.gz	       containerd-1.6.28-d2iq.1-rhel-8.6-x86_64_fips.tar.gz	pip-packages.tar.gz
      1.28.7_centos_7_x86_64_fips.tar.gz  1.28.7_rocky_9_x86_64.tar.gz			                containerd-1.6.28-d2iq.1-rhel-7.9-x86_64_fips.tar.gz   containerd-1.6.28-d2iq.1-rocky-9.0-x86_64.tar.gz
      1.28.7_redhat_7_x86_64.tar.gz	    1.28.7_ubuntu_20_x86_64.tar.gz			                containerd-1.6.28-d2iq.1-rhel-8.4-x86_64.tar.gz	       containerd-1.6.28-d2iq.1-rocky-9.1-x86_64.tar.gz
      1.28.7_redhat_7_x86_64_fips.tar.gz  containerd-1.6.28-d2iq.1-centos-7.9-x86_64.tar.gz	    containerd-1.6.28-d2iq.1-rhel-8.4-x86_64_fips.tar.gz    containerd-1.6.28-d2iq.1-ubuntu-20.04-x86_64.tar.gz
      1.28.7_redhat_8_x86_64.tar.gz	    containerd-1.6.28-d2iq.1-centos-7.9-x86_64_fips.tar.gz  containerd-1.6.28-d2iq.1-rhel-8.6-x86_64.tar.gz	        images
    3. Set the bundle values with the name from the private registry location:

      CODE
      export OS_PACKAGES_BUNDLE=<name_of_the_OS_package>
      export CONTAINERD_BUNDLE=<name_of_the_containerd_bundle>

      For example, for RHEL 8.4 you would set:

      CODE
      export OS_PACKAGES_BUNDLE=1.28.7_redhat_8_x86_64.tar.gz
      export CONTAINERD_BUNDLE=containerd-1.6.28-d2iq.1-rhel-8.4-x86_64.tar.gz
  2. Upload the artifacts onto cluster hosts:

    CODE
    konvoy-image upload artifacts \
        --container-images-dir=./kib/artifacts/images/ \
        --os-packages-bundle=./kib/artifacts/${OS_PACKAGES_BUNDLE} \
        --containerd-bundle=./kib/artifacts/${CONTAINERD_BUNDLE} \
        --pip-packages-bundle=./kib/artifacts/pip-packages.tar.gz

Load Images to your Private Registry - Konvoy

Before creating or upgrading a Kubernetes cluster, you need to load the required images in a local registry if operating in an air-gapped environment. This registry must be accessible from both the bastion machine and either the AWS EC2 instances or other machines that will be created for the Kubernetes cluster.

If you do not already have a local registry set up, refer to Local Registry Tools page for more information.

Execute the following command to load the air-gapped image bundle into your private registry:

CODE
dkp push bundle --bundle ./container-images/konvoy-image-bundle-v2.8.1.tar --to-registry=${REGISTRY_URL} --to-registry-username=${REGISTRY_USERNAME} --to-registry-password=${REGISTRY_PASSWORD}

It may take some time to push all the images to your image registry, depending on the performance of the network between the machine you are running the script on and the registry.

Load Images to your Private Registry - Kommander

Load Kommander images to your Private Registry

For the air-gapped kommander image bundle, run the command below:

Run the following command to load the image bundle:

CODE
dkp push bundle --bundle ./container-images/kommander-image-bundle-v2.8.1.tar --to-registry=${REGISTRY_URL} --to-registry-username=${REGISTRY_USERNAME} --to-registry-password=${REGISTRY_PASSWORD}

Load Images to your Private Registry - DKP Catalog Applications

Optional: This step is required only if you have an Enterprise license.

For DKP Catalog Applications, also perform this image load:

Run the following command to load the dkp-catalog-applications image bundle into your private registry:

CODE
dkp push bundle --bundle ./container-images/dkp-catalog-applications-image-bundle-v2.8.1.tar --to-registry=${REGISTRY_URL} --to-registry-username=${REGISTRY_USERNAME} --to-registry-password=${REGISTRY_PASSWORD}

Next Step:

Install Kommander in a Pre-provisioned, Air-gapped Environment

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.