Requirements
For reference values of the required number of worker nodes, CPU, RAM, and storage resources, refer to the requirements section.
DKP 2.1 air-gapped installation
Refer to DKP install instructions, if you want to deploy Kaptain in a networked environment or to DKP 2.2 air-gapped instructions if you are deploying in DKP 2.2.
Kaptain supports installation on an air-gapped (offline or private) DKP managed cluster. Before installing Kaptain, follow the air-gapped installation guide to set up the air-gapped DKP managed cluster. The cluster admin is responsible for configuring the DKP cluster correctly and ensuring container images have been pre-loaded to the private registry, before installing Kaptain.
Prerequisites
-
A DKP cluster with the following Platform applications enabled:
- Istio
- Knative (optional, if KServe is configured to work in
RawDeployment
mode)
-
kubectl
on your installation machine -
For customers deploying in a multi-cluster environment (Enterprise): Ensure you have configured Kaptain to authenticate with a Management Cluster.
-
Ensure the following applications are enabled in Kommander:
-
Use the existing Kommander configuration file, or initialize the default one:
dkp install kommander --init > kommander-config.yaml
-
Ensure the following applications are enabled in the config:
apiVersion: config.kommander.mesosphere.io/v1alpha1 kind: Installation apps: ... dex: dex-k8s-authenticator: kube-prometheus-stack: istio: knative: minio-operator: traefik: nvidia: # to enable GPU support ...
-
Apply the new configuration to Kommander:
dkp install kommander --installer-config kommander-config.yaml
-
Review the Kommander installation documentation for more information.
If you need to run Spark jobs on Kubernetes using Spark Operator, you must install it separately. Use the following instructions to install Spark Operator from Kommander Catalog for DKP 2.x.
Load the Docker images into your Docker registry
-
Download the image bundle file:
- Download
kaptain-air-gapped-2.1.0.tar.gz
that will contain the required artifacts to perform an air-gapped installation. - (Optional) Download the custom image artifacts
kaptain-air-gapped-2.1.0_cpu.tar.gz
orkaptain-air-gapped-2.1.0_gpu.tar.gz
based on whether you need CPU or GPU for your workloads.
- Download
-
Extract the image bundle archive and other files within a location where you can load and push the images to your private Docker registry.
-
Ensure you set the
REGISTRY_URL
andAIRGAPPED_TAR_FILE
variable appropriately, then use the following script to load the air-gapped image bundle:#!/usr/bin/env bash set -euo pipefail IFS=$'\n\t' readonly AIRGAPPED_TAR_FILE=${AIRGAPPED_TAR_FILE:-"kaptain-image-bundle.tar"} readonly REGISTRY_URL=${REGISTRY_URL#https://} docker load --input "${AIRGAPPED_TAR_FILE}" while read -r IMAGE; do echo "Processing ${IMAGE}" REGISTRY_IMAGE="$(echo "${IMAGE}" | sed -E "s@^(quay|gcr|ghcr|docker|k8s.gcr|nvcr).io|public.ecr.aws|mcr.microsoft.com@${REGISTRY_URL}@")" docker image tag "${IMAGE}" "${REGISTRY_IMAGE}" docker image push "${REGISTRY_IMAGE}" done < <(tar xfO "${AIRGAPPED_TAR_FILE}" "index.json" | grep -oP '(?<="io.containerd.image.name":").*?(?=",)')
Based on the network latency between the environment of script execution, the Docker registry, and the disk speed, this can take a while to upload all the images to your image registry.
Install Kaptain using helm
-
Ensure the
KUBECONFIG=clusterKubeconfig.conf
is set. -
Download the
kaptain-2.1.0.tgz
chart archive from the link obtained from support. -
Add the following to a file named ‘values.yaml’ to pass to the helm install with the following contents:
ingress: kubeflowIngressGatewayServiceAnnotations: service.beta.kubernetes.io/aws-load-balancer-internal: "true"
-
Use helm to install Kaptain to your air-gapped cluster:
helm install kaptain kaptain-2.1.0.tgz --values values.yaml
You may need to specify
--kubeconfig=my-air-gap-cluster.conf
for the install. -
Check the status of the install with:
helm status kaptain
Uninstall Kaptain
If Kaptain was installed using helm, it can be uninstalled with the following:
helm uninstall kaptain