Skip to main content
Skip table of contents

Install Kommander in a Pre-provisioned, Non-air-gapped Environment

Install the Kommander component of DKP in pre-provisioned, non-air-gapped environments.

Prerequisites

  • Ensure you have reviewed all Prerequisites for Install.

  • Ensure you have a default StorageClass.

  • Note the name of the cluster where you want to install Kommander. If you do not know the cluster name, use kubectl get clusters -A to display and find it.

You MUST modify the Kommander installer configuration file (kommander.yaml) before installing the Kommander component of DKP in a pre-provisioned environment.

Create and Customize your Kommander Installer Configuration File

  1. Set the environment variable for your cluster:

    CODE
    export CLUSTER_NAME=<your-management-cluster-name>
  2. Copy the kubeconfig file of your Management cluster to your local directory:

    CODE
    dkp get kubeconfig -c ${CLUSTER_NAME} > ${CLUSTER_NAME}.conf
  3. Create a configuration file for the deployment:

    CODE
    dkp install kommander --init > kommander.yaml 
  4. Edit the installer file to include configuration overrides for the rook-ceph-cluster. DKP’s default configuration ships Ceph with PVC based storage which requires your CSI provider to support PVC with type volumeMode: Block. As this is not possible with the default local static provisioner, you can install Ceph in host storage mode.

    You can choose whether Ceph’s object storage daemon (osd) pods should consume all or just some of the devices on your nodes. Include one of the following Overrides:

    1. To automatically assign all raw storage devices on all nodes to the Ceph cluster:

      CODE
      ...
      rook-ceph-cluster:
          enabled: true
          values: |
            cephClusterSpec:
              storage:
                storageClassDeviceSets: []
                useAllDevices: true
                useAllNodes: true
                deviceFilter: "<<value>>"
      ...
    2. To assign specific storage devices on all nodes to the Ceph cluster:

      CODE
      ...
      rook-ceph-cluster:
          enabled: true
          values: |
            cephClusterSpec:
              storage:
                storageClassDeviceSets: []
                useAllNodes: true
                useAllDevices: false
                deviceFilter: "^sdb."
      ...

      (info) Note: If you want to assign specific devices to specific nodes using the deviceFilter option, refer to Specific Nodes and Devices. For general information on the deviceFilter value, refer to Storage Selection Settings.

  5. If required: Customize your kommander.yaml.
    (info) See Kommander Customizations for customization options. Some of them include:
    Custom Domains and Certificates, HTTP proxy, External Load Balancer, GPU utilization, etc.

  6. If required: If your cluster uses a custom AWS VPC and requires an internal load-balancer, set the traefik annotation to create an internal-facing ELB:

    CODE
    ...
    apps:
    ...
      traefik:
        enabled: true
        values: |
          service:
            annotations:
              service.beta.kubernetes.io/aws-load-balancer-internal: "true
    ...
  7. Expand one of the following sets of instructions, depending on your license and application environments:

Essential License: Install Kommander in a Pre-provisioned, Non-Air-Gapped Environment

Essential License: Install Kommander

Use the customized kommander.yaml to install DKP:

CODE
dkp install kommander --installer-config kommander.yaml --kubeconfig=${CLUSTER_NAME}.conf

  

Enterprise License: Install Kommander in a Pre-provisioned, Non-air-gapped Environment with DKP Catalog Applications

Enterprise License: Install Kommander with DKP Catalog Applications

If you want to enable DKP Catalog applications after installing DKP, see Enable DKP Catalog Applications after Installing DKP.

  1. In the same kommander.yaml of the previous section, add these values for dkp-catalog-applications:

    CODE
    ...
    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"
          gitRepositorySpec:
            url: https://github.com/mesosphere/dkp-catalog-applications
            ref:
              tag: v2.7.0
    ...

    (warning) If you only want to enable catalog applications to an existing configuration, add these values to an existing installer configuration file to maintain your Management cluster’s settings.

  2. Use the customized kommander.yaml to install DKP:

    CODE
    dkp install kommander --installer-config kommander.yaml --kubeconfig=${CLUSTER_NAME}.conf

 

Tips and recommendations

  • The --kubeconfig=${CLUSTER_NAME}.conf flag ensures that you install Kommander on the correct cluster. For alternatives, see Provide Context for Commands with a kubeconfig File.

  • Applications can take longer to deploy, and time out the installation. Add the --wait-timeout <time to wait> flag and specify a period of time (for example, 1h) to allocate more time to the deployment of applications.

  • If the Kommander installation fails, or you wish to reconfigure applications, rerun the install command to retry.

Next Step:

Verify Kommander Installation

See Install DKP Insights if you want to enable a solution that detects current and future anomalies in workload configurations or Kubernetes clusters.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.