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 -xvDownload 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.tarOptionally 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.tarOptionally download the DKP insights image bundle file:
CODEcurl "https://downloads.d2iq.com/dkp/v2.3.3/dkp-insights-image-bundle-v2.3.3.tar" -OSee the
NOTICES.txtfile for 3rd party software attributions and place thekommander-image-bundle-v2.3.3.taranddkp-catalog-applications-image-bundle-v2.3.3.tarbundles 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 -ODownload 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 -xvzDownload the Kommander charts bundle:
CODEcurl -LJ https://downloads.d2iq.com/dkp/v2.3.3/dkp-kommander-charts-bundle-v2.3.3.tar.gz | tar -xvzDownload the Kommander application definitions:
CODEcurl -O https://downloads.d2iq.com/dkp/v2.3.3/kommander-applications-v2.3.3.tar.gzDownload the Containerd
1.14.13packages 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.9ol-7.9rhel-7.9rhel-8.2rhel-8.4sles-15.3ubuntu-18.04ubuntu-20.04
CODEexport CONTAINERD_OS=centos-7.9BASHcurl --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.gzTo get the fips builds append
_fipsafter-x86_64in the url. To get the fips build forcentos-7.9the url would behttps://packages.d2iq.com/dkp/containerd/containerd-1.4.13-d2iq.1-centos-7.9-x86_64_fips.tar.gzThe following OS’s have containerd fips builds:
centos-7.9ol-7.9rhel-7.9rhel-8.2rhel-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.yamlfor the air-gapped deployment. Open theinstall.yamlfile and review that it looks like the following:CODEapiVersion: config.kommander.mesosphere.io/v1alpha1 kind: Installation airgapped: enabled: trueIn 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.gzTo 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" -ODownload the DKP Insights chart bundle:
CODEcurl "https://downloads.d2iq.com/dkp/v2.3.3/dkp-insights-charts-bundle-v2.3.3.tar.gz" -ODownload 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.gzDownload the Kommander application definitions:
CODEcurl -O https://downloads.d2iq.com/dkp/v2.3.3/kommander-applications-v2.3.3.tar.gzDownload the Containerd
1.14.13packages 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.9ol-7.9rhel-7.9rhel-8.2rhel-8.4sles-15.3ubuntu-18.04ubuntu-20.04
CODEexport CONTAINERD_OS=centos-7.9BASHcurl --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.gzTo get the fips builds append
_fipsafter-x86_64in the url. To get the fips build forcentos-7.9the url would behttps://packages.d2iq.com/dkp/containerd/containerd-1.4.13-d2iq.1-centos-7.9-x86_64_fips.tar.gzThe following OS’s have containerd fips builds:
centos-7.9ol-7.9rhel-7.9rhel-8.2rhel-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.yamlfor the air-gapped deployment. Open theinstall.yamlfile and review that it looks like the following:CODEapiVersion: config.kommander.mesosphere.io/v1alpha1 kind: Installation airgapped: enabled: trueIn 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.gzPush the DKP Insights charts bundle:
CODEdkp push chart-bundle dkp-insights-charts-bundle-v2.3.3.tar.gzInstall 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 -ODownload 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 -xvzDownload the DKP Insights catalog:
CODEcurl "https://downloads.d2iq.com/dkp/v2.3.3/dkp-insights-v2.3.3.tar.gz" -ODownload the DKP Insights chart bundle:
CODEcurl "https://downloads.d2iq.com/dkp/v2.3.3/dkp-insights-charts-bundle-v2.3.3.tar.gz" -ODownload 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.gzDownload 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.yamlfor the air-gapped deployment. Open theinstall.yamlfile and review that it looks like the following:CODEapiVersion: config.kommander.mesosphere.io/v1alpha1 kind: Installation airgapped: enabled: trueIn 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.gzFollow 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: