Install DKP in an Air-gapped Environment with Catalog Applications
How to run DKP in an Air-gapped installation with catalog applications.
The following explains how to run DKP on top of an air-gapped DKP cluster installation with catalog applications.
Depending on your configuration, there are three different ways you can install DKP to an air-gapped environment.
Ensure you follow the correct procedure for your configuration type, and ignore the other two sections that do not pertain to your environment:
Load the Docker images into your Docker Registry
Follow these steps:
Download the DKP image bundle file:
NONEcurl -LJ https://downloads.d2iq.com/dkp/v2.3.3/kommander-image-bundle-v2.3.3.tar | tar -xv
Download the Konvoy Docker Images.
CODEcurl -o konvoy-image-bundle-v2.3.3.tar -O https://downloads.d2iq.com/dkp/v2.3.3/konvoy_image_bundle_v2.3.3_linux_amd64.tar
Optionally download the DKP catalog applications image bundle file:
CODEcurl "https://downloads.d2iq.com/dkp/v2.3.3/dkp-catalog-applications-image-bundle-v2.3.3.tar" -O && tar -xvf dkp-catalog-applications-image-bundle-v2.3.3.tar
Optionally download the DKP insights image bundle file:
CODEcurl "https://downloads.d2iq.com/dkp/v2.3.3/dkp-insights-image-bundle-v2.3.3.tar" -O
See the
NOTICES.txt
file for 3rd party software attributions and place thekommander-image-bundle-v2.3.3.tar
anddkp-catalog-applications-image-bundle-v2.3.3.tar
bundles within a location where you can load and push the images to your private Docker registry.Run the following command to load the air-gapped image bundle into your private Docker registry:
dkp push image-bundle --image-bundle kommander-image-bundle-v2.3.3.tar --to-registry <REGISTRY_URL>
dkp push image-bundle --image-bundle dkp-catalog-applications-image-bundle-v2.3.3.tar --to-registry <REGISTRY_URL>
dkp push image-bundle --image-bundle dkp-insights-image-bundle-v2.3.3.tar --to-registry <REGISTRY_URL>
Install air-gapped Kommander with the DKP Catalog Applications
Use this section to install DKP with Catalog Applications.
Prerequisites
To use the DKP Catalog Applications in an air-gapped environment, you need the following files (including downloading and pushing the dkp-insights-image-bundle
file mentioned above):
Download the DKP catalog application definitions:
CODEcurl https://downloads.d2iq.com/dkp/v2.3.3/dkp-catalog-applications-v2.3.3.tar.gz -O
Download the DKP catalog applications chart bundle:
CODEcurl -LJ https://downloads.d2iq.com/dkp/v2.3.3/dkp-catalog-applications-charts-bundle-v2.3.3.tar.gz | tar -xvz
Download the Kommander charts bundle:
CODEcurl -LJ https://downloads.d2iq.com/dkp/v2.3.3/dkp-kommander-charts-bundle-v2.3.3.tar.gz | tar -xvz
Download the Kommander application definitions:
CODEcurl -O https://downloads.d2iq.com/dkp/v2.3.3/kommander-applications-v2.3.3.tar.gz
Download the Containerd
1.14.13
packages for the OS you plan to provision dkp on. The options for OS are listed below for replacement in the command before running:centos-7.9
ol-7.9
rhel-7.9
rhel-8.2
rhel-8.4
sles-15.3
ubuntu-18.04
ubuntu-20.04
CODEexport CONTAINERD_OS=centos-7.9
BASHcurl --output artifacts/containerd-1.4.13-d2iq.1-"$CONTAINERD_OS"-x86_64.tar.gz --location https://packages.d2iq.com/dkp/containerd/containerd-1.4.13-d2iq.1-"$CONTAINERD_OS"-x86_64.tar.gz
To get the fips builds append
_fips
after-x86_64
in the url. To get the fips build forcentos-7.9
the url would behttps://packages.d2iq.com/dkp/containerd/containerd-1.4.13-d2iq.1-centos-7.9-x86_64_fips.tar.gz
The following OS’s have containerd fips builds:
centos-7.9
ol-7.9
rhel-7.9
rhel-8.2
rhel-8.4
Set up the
Download the Kubernetes images:
CODEcurl -o kib/artifacts/images/"$VERSION"_images.tar.gz -O https://downloads.d2iq.com/dkp/airgapped/kubernetes-images/"$VERSION"_images.tar.gz
Install Kommander
Follow these steps:
Create the configuration file by running
dkp install kommander --init --airgapped > install.yaml
for the air-gapped deployment. Open theinstall.yaml
file and review that it looks like the following:CODEapiVersion: config.kommander.mesosphere.io/v1alpha1 kind: Installation airgapped: enabled: true
In the same file, if you are installing Kommander in an AWS VPC, set the Traefik annotation to create an internal facing ELB by setting the following:
CODEapps: traefik: values: | service: annotations: service.beta.kubernetes.io/aws-load-balancer-internal: "true" catalog: repositories: - name: dkp-catalog-applications labels: kommander.d2iq.io/project-default-catalog-repository: "true" kommander.d2iq.io/workspace-default-catalog-repository: "true" kommander.d2iq.io/gitapps-gitrepository-type: "dkp" path: ./dkp-catalog-applications.tar.gz
To install DKP in your air-gapped environment using the above configuration file, run the following command:
CODEdkp install kommander --installer-config ./install.yaml \ --kommander-applications-repository kommander-applications-v2.3.3.tar.gz \ --charts-bundle dkp-kommander-charts-bundle-v2.3.3.tar.gz \ --charts-bundle dkp-catalog-applications-charts-bundle-v2.3.3.tar.gz
Install air-gapped Kommander with DKP Insights
Use this section to install DKP with DKP Insights.
Prerequisites
If you are utilizing DKP Insights in an air-gapped environment, there are additional files in order to use the DKP Insights engine:
Download the DKP Insights catalog:
CODEcurl "https://downloads.d2iq.com/dkp/v2.3.3/dkp-insights-v2.3.3.tar.gz" -O
Download the DKP Insights chart bundle:
CODEcurl "https://downloads.d2iq.com/dkp/v2.3.3/dkp-insights-charts-bundle-v2.3.3.tar.gz" -O
Download the Kommander charts bundle:
CODEcurl "https://downloads.d2iq.com/dkp/v2.3.3/dkp-kommander-charts-bundle-v2.3.3.tar.gz" -O && tar -xvf dkp-kommander-charts-bundle-v2.3.3.tar.gz
Download the Kommander application definitions:
CODEcurl -O https://downloads.d2iq.com/dkp/v2.3.3/kommander-applications-v2.3.3.tar.gz
Download the Containerd
1.14.13
packages for the OS you plan to provision dkp on. The options for OS are listed below for replacement in the command before running:centos-7.9
ol-7.9
rhel-7.9
rhel-8.2
rhel-8.4
sles-15.3
ubuntu-18.04
ubuntu-20.04
CODEexport CONTAINERD_OS=centos-7.9
BASHcurl --output artifacts/containerd-1.4.13-d2iq.1-"$CONTAINERD_OS"-x86_64.tar.gz --location https://packages.d2iq.com/dkp/containerd/containerd-1.4.13-d2iq.1-"$CONTAINERD_OS"-x86_64.tar.gz
To get the fips builds append
_fips
after-x86_64
in the url. To get the fips build forcentos-7.9
the url would behttps://packages.d2iq.com/dkp/containerd/containerd-1.4.13-d2iq.1-centos-7.9-x86_64_fips.tar.gz
The following OS’s have containerd fips builds:
centos-7.9
ol-7.9
rhel-7.9
rhel-8.2
rhel-8.4
Download the Kubernetes images:
CODEcurl -o kib/artifacts/images/"$VERSION"_images.tar.gz -O https://downloads.d2iq.com/dkp/airgapped/kubernetes-images/"$VERSION"_images.tar.gz
Install Kommander
Follow these steps:
Create the configuration file by running
dkp install kommander --init --airgapped > install.yaml
for the air-gapped deployment. Open theinstall.yaml
file and review that it looks like the following:CODEapiVersion: config.kommander.mesosphere.io/v1alpha1 kind: Installation airgapped: enabled: true
In the same file, if you are installing Kommander in an AWS VPC, set the Traefik annotation to create an internal facing ELB by setting the following:
CODEapps: traefik: values: | service: annotations: service.beta.kubernetes.io/aws-load-balancer-internal: "true" dkp-insights-management: enabled: true catalog: repositories: - name: insights-catalog-applications labels: kommander.d2iq.io/workspace-default-catalog-repository: "true" kommander.d2iq.io/gitapps-gitrepository-type: "dkp" path: ./dkp-insights-v2.3.3.tar.gz
Push the DKP Insights charts bundle:
CODEdkp push chart-bundle dkp-insights-charts-bundle-v2.3.3.tar.gz
Install DKP with Insights enabled by running:
CODEdkp install kommander --installer-config ./install.yaml \ --kommander-applications-repository kommander-applications-v2.3.3.tar.gz \ --charts-bundle dkp-kommander-charts-bundle-v2.3.3.tar.gz \ --charts-bundle dkp-insights-charts-bundle-v2.3.3.tar.gz
Install air-gapped Kommander with DKP Insights and DKP Catalog Applications
Use this section to install DKP with DKP Insights and Catalog Applications.
Prerequisites
Follow these steps:
Download the DKP catalog application definitions:
CODEcurl https://downloads.d2iq.com/dkp/v2.3.3/dkp-catalog-applications-v2.3.3.tar.gz -O
Download the DKP catalog applications chart bundle:
CODEcurl -LJ https://downloads.d2iq.com/dkp/v2.3.3/dkp-catalog-applications-charts-bundle-v2.3.3.tar.gz | tar -xvz
Download the DKP Insights catalog:
CODEcurl "https://downloads.d2iq.com/dkp/v2.3.3/dkp-insights-v2.3.3.tar.gz" -O
Download the DKP Insights chart bundle:
CODEcurl "https://downloads.d2iq.com/dkp/v2.3.3/dkp-insights-charts-bundle-v2.3.3.tar.gz" -O
Download the Kommander charts bundle:
CODEcurl "https://downloads.d2iq.com/dkp/v2.3.3/dkp-kommander-charts-bundle-v2.3.3.tar.gz" -O && tar -xvf dkp-kommander-charts-bundle-v2.3.3.tar.gz
Download the Kommander application definitions:
CODEcurl -O https://downloads.d2iq.com/dkp/v2.3.3/kommander-applications-v2.3.3.tar.gz
Install Kommander
Follow these steps:
Create the configuration file by running
dkp install kommander --init --airgapped > install.yaml
for the air-gapped deployment. Open theinstall.yaml
file and review that it looks like the following:CODEapiVersion: config.kommander.mesosphere.io/v1alpha1 kind: Installation airgapped: enabled: true
In the same file, if you are installing Kommander in an AWS VPC, set the Traefik annotation to create an internal facing ELB by setting the following:
CODEapps: traefik: values: | service: annotations: service.beta.kubernetes.io/aws-load-balancer-internal: "true" dkp-insights-management: enabled: true catalog: repositories: - name: insights-catalog-applications labels: kommander.d2iq.io/workspace-default-catalog-repository: "true" kommander.d2iq.io/gitapps-gitrepository-type: "dkp" path: ./dkp-insights-v2.3.3.tar.gz - name: dkp-catalog-applications labels: kommander.d2iq.io/project-default-catalog-repository: "true" kommander.d2iq.io/workspace-default-catalog-repository: "true" kommander.d2iq.io/gitapps-gitrepository-type: "dkp" path: ./dkp-catalog-applications.tar.gz
Follow the steps on the Configure an Enterprise catalog page to configure the DKP catalog applications.
To install DKP in your air-gapped environment using the above configuration file, run the following command:
CODEdkp install kommander --installer-config ./install.yaml \ --kommander-applications-repository kommander-applications-v2.3.3.tar.gz \ --charts-bundle dkp-kommander-charts-bundle-v2.3.3.tar.gz \ --charts-bundle dkp-catalog-applications-charts-bundle-v2.3.3.tar.gz \ --charts-bundle dkp-insights-charts-bundle-v2.3.3.tar.gz
Useful DKP CLI Commands
Kommander Charts Bundle
The charts bundle is a gzipped tar archive containing Helm charts, which are required during Kommander installation. Create the charts bundle with the Kommander CLI or downloaded along with the DKP CLI. Execute this command to create the charts bundle:
dkp create chart-bundle
DKP creates charts-bundle.tar.gz
. Optionally, specify the output using the -o
parameter:
dkp create chart-bundle -o [name of the output file]
DKP Internal Helm Repository
The DKP charts bundle is pushed to DKP’s internal Helm repository. To inspect the contents:
dkp get charts
Individual charts can be removed using:
dkp delete chart [chartName] [chartVersion]
It is possible to push new charts as well:
dkp push chart [chartTarball]
Or push a new bundle:
dkp push chart-bundle [chartsTarball]
Check the built-in help text for each command for more information.
This Docker image includes code from the MinIO Project (“MinIO”), which is © 2015-2021 MinIO, Inc. MinIO is made available subject to the terms and conditions of the GNU Affero General Public License 3.0. The complete source code for the versions of MinIO packaged with DKP/Kommander/Konvoy 2.3.2 are available at these URLs: