You can install the Kommander component of DKP on a small, single-cluster environment with smaller memory, storage, and CPU requirements for testing and demo purposes. This topic describes methods for installing Kommander in these environments.

Enterprise considerations: D2iQ recommends performing testing and demo tasks in a single-cluster environment. The Enterprise license is designed for multi-cluster environments and fleet management, which require a minimum amount of resources. Applying an Enterprise license key to the previous installation adds modifications to your environment that can exhaust a small environment’s resources.

Prerequisites

Ensure you have done the following:

Minimal Kommander installation

The YAML file that is used to install a minimal configuration of Kommander contains the bare minimum setup that allows you to deploy applications, and access the DKP UI. It does NOT include applications for cost monitoring, logging, alerting, object storage, etc.

In this YAML file you can find the lines that correspond to all platform applications which would be included in a normal Kommander setup. Applications that have enabled set to false are not taken into account during installation. If you want to test an additional application, you can enable it individually to be installed by setting enabled to true on the corresponding line in the YAML file.

For example, if you want to enable the logging stack, set enabled to true for grafana-logging, grafana-loki logging-operator, rook-ceph and rook-ceph-cluster. Note that depending on the size of your cluster, enabling several platform applications could exhaust your cluster’s resources.

Some applications depend on other applications to work properly. Refer to the dependencies documentation to find out which other applications you need to enable to test the target application.

  1. Initialize your Kommander installation and name it kommander_minimal.yaml:

    dkp install kommander --init --kubeconfig=<cluster-kubeconfig>.conf -oyaml > kommander_minimal.yaml
    CODE
  2. Edit your kommander_minimal.yaml file to match the following example:

    apiVersion: config.kommander.mesosphere.io/v1alpha1
    kind: Installation
    apps:
      dex:
        enabled: true
      dex-k8s-authenticator: 
        enabled: true
      gatekeeper: 
        enabled: true
      grafana-logging: 
        enabled: false
      grafana-loki: 
        enabled: false
      kommander: 
        enabled: true
      kube-prometheus-stack: 
        enabled: false
      kubernetes-dashboard: 
        enabled: false
      kubetunnel: 
        enabled: false
      logging-operator: 
        enabled: false
      prometheus-adapter: 
        enabled: false
      reloader: 
        enabled: true
      rook-ceph: 
        enabled: false
      rook-ceph-cluster: 
        enabled: false
      traefik: 
        enabled: true
      traefik-forward-auth-mgmt: 
        enabled: true
      velero: 
        enabled: false
    ageEncryptionSecretName: sops-age
    clusterHostname: ""
    CODE
  3. Install Kommander on your cluster with the following command:

    dkp install kommander --installer-config ./kommander_minimal.yaml --kubeconfig=<cluster-kubeconfig>.conf
    CODE

    After the CLI successfully installs the components, it will wait for all applications to be ready by default. If you prefer the CLI to not wait for all applications to become ready, you can set the --wait=false flag.

Verify Installation

Once the Konvoy cluster is built and Kommander has been installed, you will want to verify your installation of Kommander in that section of documentation. If the Kommander installation fails or you wish to reconfigure applications, you can rerun the install command, and you can view the progress by increasing the log verbosity by adding the flag -v 2.

NOTE: An alternative to using the --kubeconfig=<cluster-kubeconfig>.conf flag is to initialize the KUBECONFIG environment variable. You can do this by running export KUBECONFIG=<cluster-kubeconfig>. Setting your KUBECONFIG (either by flag or by environment variable) ensures that Kommander is installed on the workload cluster.

Then you will be able to log in in to Kommander UI.