Cluster Requirements
You must have an Ingress Controller, Storage Classes and Persistent Volumes, and metrics-server installed in your Kubernetes cluster before installing Knowledge Discovery.
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.