Add Kaptain to DKP Catalog Applications

Add Kaptain to DKP Catalog Applications in networked environments before deploying to clusters.

NOTE: All DKP commands on this page assume KUBECONFIG=clusterKubeconfig.conf is set.

WARNING: You can deploy Kaptain to a cluster in a selected workspace. If you do not intend to deploy Kaptain to a certain cluster, you must switch the workspace you are deploying to or move that cluster to another workspace.

Requirements

For reference values of the required number of worker nodes, CPU, RAM, and storage resources, refer to the requirements section.

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 you enable the following applications in Kommander:

    NOTE: All DKP commands in this section assume KUBECONFIG=clusterKubeconfig.conf is set.

    1. Use the existing Kommander configuration file, or initialize the default one:

      dkp install kommander --init > kommander-config.yaml
      
    2. 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
        ...
      
    3. For GPU deployment, follow the instructions in Kommander GPU documentation.

    4. Apply the new configuration to Kommander:

      dkp install kommander --installer-config kommander-config.yaml
      

Check Kommander installation documentation for more information.

NOTE: Starting from the 1.3 release, Spark Operator is no longer installed by default with Kaptain.

In case you need to run Spark jobs on Kubernetes using Spark Operator, it needs to be installed separately. Use the following instructions to install Spark Operator from Kommander Catalog DKP 2.x.

Add Kaptain to your DKP Catalog Applications via CLI

If you installed DKP with Kaptain as a workspace application in the Kommander installation file, you do not need to create a Git Repository for Kaptain.

If you added Kaptain after installing DKP, you must make it available by creating a Git Repository. Use the CLI to create the GitRepository resource and add a new repository.

Create a Git repository for Kaptain

  1. Ensure the KUBECONFIG=clusterKubeconfig.conf is set.

  2. Refer to air-gapped for DKP 2.1 or air-gapped for DKP 2.2 install instructions, if you are deploying in an air-gapped environment.

  3. Add the Flux GitRepository to your Kommander install:

    cat <<EOF | kubectl apply -f -
    apiVersion: source.toolkit.fluxcd.io/v1beta1
    kind: GitRepository
    metadata:
      name: kaptain-catalog-applications
      namespace: kommander
      labels:
        kommander.d2iq.io/gitrepository-type: catalog
        kommander.d2iq.io/gitapps-gitrepository-type: dkp
        kommander.d2iq.io/workspace-default-catalog-repository: "true"
    spec:
      interval: 1m0s
      ref:
        tag: v2.0.0
      timeout: 20s
      url: https://github.com/mesosphere/kaptain-catalog-applications
    EOF
    
  4. Ensure the status of the GitRepository signals a ready state:

    kubectl get gitrepository kaptain-catalog-applications -n kommander
    

    The repository commit displays the ready state:

    NAME         URL                                                        READY   STATUS                                                              AGE
    kaptain-catalog-applications https://github.com/mesosphere/kaptain-catalog-applications                True    Fetched revision: master/6c54bd1722604bd03d25dcac7a31c44ff4e03c6a   11m
    

Deploy Kaptain on selected workspaces

You have now added Kaptain to your DKP Catalog applications. The next step is to enable and deploy Kaptain on all clusters in a selected workspace. For this, refer to Deploy Kaptain instructions.