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.
Download the Complete DKP Air-gapped Bundle for this release (i.e.
dkp-air-gapped-bundle_v2.7.2_linux_amd64.tar.gz
) to load registry images as explained below.Connectivity with clusters attaching to the management cluster is required:
Both management and attached clusters must be able to connect to the local registry.
The management cluster must be able to connect to all attached cluster’s API servers.
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:
Assuming you have downloaded
dkp-air-gapped-bundle_v2.7.2_linux_amd64.tar.gz
, extract the tarball to a local directory:CODEtar -xzvf dkp-air-gapped-bundle_v2.7.2_linux_amd64.tar.gz
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:CODEcd dkp-v2.7.2
Set an environment variable with your registry address:
CODEexport 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.
The Kubernetes image bundle will be located in
kib/artifacts/images
and you will want to verify image and artifacts.Verify the image bundles exist in
kib/artifacts/images
:CODE$ ls kib/artifacts/images/ kubernetes-images-1.27.11-d2iq.1.tar kubernetes-images-1.27.11-d2iq.1-fips.tar
Verify the artifacts for your OS exist in the
kib/artifacts/
directory and export the appropriate variables:CODE$ ls kib/artifacts/ 1.27.11_centos_7_x86_64.tar.gz 1.27.11_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.27.11_centos_7_x86_64_fips.tar.gz 1.27.11_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.27.11_redhat_7_x86_64.tar.gz 1.27.11_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.27.11_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.27.11_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
Set the bundle values with the name from the private registry location:
CODEexport 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:
CODEexport OS_PACKAGES_BUNDLE=1.27.11_redhat_8_x86_64.tar.gz export CONTAINERD_BUNDLE=containerd-1.6.28-d2iq.1-rhel-8.4-x86_64.tar.gz
Upload the artifacts onto cluster hosts:
CODEkonvoy-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:
dkp push bundle --bundle ./container-images/konvoy-image-bundle-v2.7.2.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:
dkp push bundle --bundle ./container-images/kommander-image-bundle-v2.7.2.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:
dkp push bundle --bundle ./container-images/dkp-catalog-applications-image-bundle-v2.7.2.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