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.