Install Kommander in a Pre-provisioned, Air-gapped Environment
Prerequisites
Ensure you have reviewed all Prerequisites for Install.
Ensure you have a default StorageClass.
Ensure you have loaded all necessary images for your configuration. See Load the Images into Your Registry: Air-gapped Environments.
Note down the name of the cluster, where you want to install Kommander. If you do not know it, use
kubectl get clusters -Ato display it.
Create and Customize your Kommander Installer Configuration File
Set the environment variable for your cluster:
CODEexport CLUSTER_NAME=<your-management-cluster-name>Copy the
kubeconfigfile of your Management cluster to your local directory:CODEdkp get kubeconfig -c ${CLUSTER_NAME} > ${CLUSTER_NAME}.confCreate a configuration file for the deployment:
CODEdkp install kommander --init --airgapped > kommander.yamlEdit the
kommander.yamlfile to include configuration overrides for therook-ceph-cluster. DKP’s default configuration ships Ceph with PVC based storage which requires your CSI provider to support PVC with typevolumeMode: 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:
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>>" ...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." ...
Note: If you want to assign specific devices to specific nodes using the deviceFilteroption, refer to Specific Nodes and Devices. For general information on thedeviceFiltervalue, refer to Storage Selection Settings.
If required: Customize your
kommander.yaml.
See Kommander Customizations for customization options. Some of them include:
Custom Domains and Certificates, HTTP proxy, External Load Balancer, GPU utilization, etc.If required: If your cluster uses a custom AWS VPC and requires an internal load-balancer, set the
traefikannotation to create an internal-facing ELB:CODE... apps: traefik: enabled: true values: | service: annotations: service.beta.kubernetes.io/aws-load-balancer-internal: "true ...Expand one of the following sets of instructions, depending on your license and application environments:
Next Step:
See (2.6) DKP Insights if you want to enable a solution that detects current and future anomalies in workload configurations or Kubernetes clusters.