Pre-provisioned Loading the Registry
The complete DKP air-gapped bundle is needed for an air-gapped environment but can also be used in a non-air-gapped environment. The bundle contains all the DKP components needed for an air-gapped environment installation and also to use a local registry in a non-air-gapped environment.
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.3_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
Follow these steps to extract the air-gapped image bundles into your private registry.
Load the Bootstrap Image
Assuming you have downloaded
dkp-air-gapped-bundle_v2.7.1_linux_amd64.tar.gz
from the download site mentioned above, extract the tarball to a local directory:CODEtar -xzvf dkp-air-gapped-bundle_v2.7.1_linux_amd64.tar.gz
The directory structure after extraction can be accessed in subsequent steps using commands to access files from different directories. For the bootstrap, change your directory to the
dkp-<version>
directory similar to example below depending on your current location:CODEcd dkp-v2.7.1
Load the bootstrap container image on your bastion machine replacing
docker
withpodman
if needed:CODEdocker load -i konvoy-bootstrap-image-v2.7.1.tar
Set Environment Variables
Set an environment variable with your registry address:
CODEexport REGISTRY_URL="<https/http>://<registry-address>:<registry-port>"
REGISTRY_URL
: the address of an existing local registry accessible in the VPC that the new cluster nodes will be configured to use a mirror registry when pulling images.
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.3.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.3.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.3.tar --to-registry=${REGISTRY_URL} --to-registry-username=${REGISTRY_USERNAME} --to-registry-password=${REGISTRY_PASSWORD}
Next Step
If applicable for special Azure considerations, refer to this section also:
Otherwise, proceed to Pre-provisioned Cluster Creation Customization Choices