Air-gapped Environment: Prepare the Kommander Installer Configuration File
Follow these steps:
Edit the installer file to include configuration overrides for the
rook-ceph-cluster
. DKP 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:
CODErook-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:
CODErook-ceph-cluster: enabled: true values: | cephClusterSpec: storage: storageClassDeviceSets: [] useAllNodes: true useAllDevices: false deviceFilter: "^sdb."
:note: 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 thedeviceFilter
value, refer to Storage Selection Settings.
In
kommander.yaml
, if you are installing Kommander in an AWS VPC, set the Traefik annotation to create an internal facing ELB by setting the following:CODEapiVersion: config.kommander.mesosphere.io/v1alpha1 kind: Installation apps: ... traefik: enabled: true values: | service: annotations: service.beta.kubernetes.io/aws-load-balancer-internal: "true" ...
In
kommander.yaml
, enable DKP Catalog Applications by setting the following:CODEapiVersion: config.kommander.mesosphere.io/v1alpha1 kind: Installation ... 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" path: ./dkp-catalog-applications-v2.5.2.tar.gz
Optional: You can add other configuration overrides to your Kommander installer configuration file, for example:
If you want to customize your cluster’s domain or certificate, review Custom Domains and Certificates during the Kommander installation.
If you require an Enterprise catalog, review Configure an Enterprise Catalog.
If you require an HTTPS proxy, review Configure HTTP Proxy.
Other configurations available at: Kommander Additional Install Configurations
To install DKP in your air-gapped environment using the above configuration file, run the following command:
CODEdkp install kommander --installer-config ./kommander.yaml --kubeconfig=${CLUSTER_NAME}.conf \ --kommander-applications-repository ./application-repositories/kommander-applications-v2.5.2.tar.gz \ --charts-bundle ./application-charts/dkp-kommander-charts-bundle-v2.5.2.tar.gz \ --charts-bundle ./application-charts/dkp-catalog-applications-charts-bundle-v2.5.2.tar.gz
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 Configuring an HTTP/HTTPS Proxy.
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.