Install Kommander in a Small Environment
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 number 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:
You have acquired a DKP license.
You have installed the Konvoy component.
You have reviewed the prerequisite section pertaining to your air-gapped, or networked environment.
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.
Initialize your Kommander installation and name it
kommander_minimal.yaml
:CODEdkp install kommander --init --kubeconfig=${CLUSTER_NAME}.conf -oyaml > kommander_minimal.yaml
Edit your
kommander_minimal.yaml
file to match the following example:CODEapiVersion: config.kommander.mesosphere.io/v1alpha1 kind: Installation apps: dex: enabled: true dex-k8s-authenticator: enabled: true dkp-insights-management: enabled: false gatekeeper: enabled: true gitea: enabled: true grafana-logging: enabled: false grafana-loki: enabled: false kommander: enabled: true kommander-ui: enabled: true kube-prometheus-stack: enabled: false kubernetes-dashboard: enabled: false kubefed: enabled: true 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: ""
Install Kommander on your cluster with the following command:
CODEdkp install kommander --installer-config ./kommander_minimal.yaml --kubeconfig=${CLUSTER_NAME}.conf
In the previous command, the
--kubeconfig=${CLUSTER_NAME}.conf
flag ensures that you set the context to install Kommander on the right cluster. For alternatives and recommendations around setting your context, refer to Provide Context for Commands with a kubeconfig File.TIP: Sometimes, applications require a longer period of time to deploy, which causes the installation to time out. 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, you can rerun the install command, and you can view the progress by increasing the log verbosity by adding the flag -v 2
.