AWS Air-gapped AMI
Create an AMI using KIB for use in an air-gapped cluster
Using KIB, you can build an AMI without requiring access to the internet by providing an additional --override
flag. Depending on which version of DKP you are running, steps and flags will be different.
Create the directories where you will place the air-gapped bundles:
mkdir artifacts mkdir artifacts/images
CODEDefine an environment variable for the Kubernetes version that corresponds with DKP release you are installing. You can find the correct Kubernetes version by checking the release notes for the release you are installing.
export VERSION=1.23.12
CODESet an environment variable for the AMI’s OS you are will be using. The OS packages bundles will contain the RPMs for
containerd
, Kubernetes and all of their dependencies required to install these packages without access to any external RPM repositories. The available options are:centos_7_x86_64
centos_7_x86_64_fips
redhat_7_x86_64
redhat_7_x86_64_fips
redhat_8_x86_64
redhat_8_x86_64_fips
export BUNDLE_OS=centos_7_x86_64
CODEDownload the OS packages bundle:
curl --output artifacts/"$VERSION"_"$BUNDLE_OS".tar.gz -O https://downloads.d2iq.com/dkp/airgapped/os-packages/"$VERSION"_"$BUNDLE_OS".tar.gz
CODEDownload the Kubernetes images bundle. This bundle includes the necessary images for
kubeadm
to bootstrap a KubernetesNode
.The available options for each Kubernetes version are:
<version>_images.tar.gz
<version>_images_fips.tar.gz
curl --output artifacts/images/"$VERSION"_images.tar.gz -O https://downloads.d2iq.com/dkp/airgapped/kubernetes-images/"$VERSION"_images.tar.gz
CODEDownload the PIP packages. This bundle includes a few packages required by DKP to bootstrap machines.
curl --output artifacts/pip-packages.tar.gz -O https://downloads.d2iq.com/dkp/airgapped/pip-packages/pip-packages.tar.gz
CODESet a variable that indicates which OS-specific
containerd
bundle to download. The available options are:centos_7.9_x86_64
rhel-7.9-x86_64
rhel-8.2-x86_64
rhel-8.4-x86_64
ubuntu-20.04-x86_64
ubuntu-18.04-x86_64
ol-7.9-x86_64
sles-15.3-x86_64
export CONTAINERD_OS=centos-7.9-x86_64
CODEDownload the
containerd
bundle:curl --output artifacts/containerd-1.4.13-d2iq.1-"$CONTAINERD_OS".tar.gz --location https://packages.d2iq.com/dkp/containerd/containerd-1.4.13-d2iq.1-"$CONTAINERD_OS".tar.gz
CODEFollow the instructions to build an AMI in the setting an additional
--overrides overrides/offline.yaml
flag.
Then, you can seed your docker registry.