Install Kommander on 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 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:
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 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
If your environment uses HTTP/HTTPS proxies, you must include the flags
--http-proxy
,--https-proxy
, and--no-proxy
and their related values in this command for it to be successful. More information is available in Configure HTTP Proxy.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 for the deployment of applications.
Verify Installation
After 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.