Amazon EFC Provisioner to EFC CSI¶
Starting from version 4.45, Cognigy.AI supports Amazon EFS CSI driver as the currently used efs external provisioner is deprecated.
Prerequisites¶
- Kubernetes v1.21 - 1.24.
- Kubectl utility is installed locally.
- Helm v3.8+ is installed on the client host.
- Amazon EFS CSI driver is installed in the kubernetes cluster.
- Cognigy.AI installation must be >= v4.45.
- Snapshots/Backups of all EFS Persistent Volume Claims/Persistent Volumes (flow modules, functions) are must be ready before the migration starts.
Migration process¶
-
Retain the
flow-modules
andfunctions
Persistent volumes.kubectl patch pv <flow-modules-pv-id> -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}' kubectl patch pv <functions-pv-id> -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}'
-
Enable the EFS CSI provisioner in the values file.
For more details check hereflowModules: persistence: aws: efs: enabled: true ## EFS File system ID ## id: "" efs_csi: enabled: true functions: persistence: aws: efs: enabled: true ## EFS File system ID ## id: "" efs_csi: enabled: true
-
Disable the currently running efs provisioner in the values file by deleting the following code block.
4. Delete theefs: flowModules: id: "<flow-module efs id>" functions: id: "<function efs id>"
flow-modules
andfunction
StorageClass.5. Reapply the helm chart.kubectl delete sc aws-efs-flow-modules aws-efs-functions
helm upgrade --namespace cognigy-ai cognigy-ai oci://cognigy.azurecr.io/helm/cognigy.ai --version HELM_CHART_VERSION --values YOUR_VALUES_FILE.yaml --create-namespace