Cluster Requirements

You must have an Ingress Controller, Storage Classes and Persistent Volumes, and metrics-server installed in your Kubernetes cluster before installing IDOL.

Ingress Controller

The cluster must provide an IngressController. For example on a minikube cluster, you can enable an NGINX controller and see the exposed address using kubectl get ingress.

Storage Classes and Persistent Volumes

This system uses Storage Classes to provide Persistent Volumes(PV) as persistent storage for the DIH and Content components.

NOTE: uninstalling does not delete the PersistentVolumeClaims(PVCs). If you redeploy the Helm chart, it reuses any existing PV or PVCs.

values.yaml default value purpose
contentStorageClass idol-content-storage-class Content component index and configuration
dihStorageClass idol-dih-storage-class

DIH component data and configuration

backupArchiveStorageClass idol-backup-archive-sc mirror-mode Content backups. See backupArchiveStorageClass below

backupArchiveStorageClass

In mirror-mode, the cluster must provide a storage class (named "idol-backup-archive-sc" by default) that can provision a PersistentVolume with ReadWriteMany access mode and contentVolumeSize space (see the "backup-archive-pvc" PersistentVolumeClaim). One Content engine is designated as the "primary" Content engine (running in the StatefulSet named "idol-child-content-primary" by default). This PersistentVolume is where the primary Content engine stores index commands and backups so that new Content mirrors can quickly initialize.

NOTE: While most volume providers support the ReadWriteOnce access mode required by the Content indexes, the ReadWriteMany mode has more limited support - see this table for an overview.

metrics-server

The cluster must satisfy the requirements of the metrics-server deployment. For example, Kubelet certificates need to be signed by the cluster certificate authority.