Installing Storage Class
caution
This is internal documentation. This document can be used only if it was recommended by the Support Team.
If you are using storage class other than NFS and EFS then please proceed with installation steps
NFS Client Provisioner for On-Premises Kubernetes cluster
- For deploying helm chart,
nfs serverandnfs mount pathare required. - Before installing NFS Provisioner helm chart, you need to add the stable helm repository to your helm client as shown below:
helm repo add stable https://charts.helm.sh/stable
- To install the chart with the release name
nfs-provisioner:
helm install nfs-provisioner --set nfs.server=x.x.x.x --set nfs.path=/exported/path stable/nfs-client-provisioner
- The
nfs-provisionerstorage class must be marked with the default annotation so that PersistentVolumeClaim objects (without a StorageClass specified) will trigger dynamic provisioning.
kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
- After deploying the nfs helm chart, execute the below command to get StorageClass name which can be used in values.yaml file for parameter
Persistence.StorageClass
kubectl get storageclass
For more information on nfs-client-provisioner, refer stable/nfs-client-provisioner
Elastic File System for AWS Elastic Kubernetes Service(EKS) cluster
Before deploying EFS helm chart, there are some steps which need to be performed.
- Create your EFS file system. Refer Create Your Amazon EFS File System for creating file system.
- Create a mount target. Refer Creating mount targets for creating mount target.
- Before installing EFS Provisioner helm chart, you need to add the stable helm repository to your helm client as shown below:
helm repo add stable https://charts.helm.sh/stable
- Provide the
efsFileSystemIdandawsRegionwhich can be obtained by executing above steps. Install the chart with the release nameaws-efs:
helm install aws-efs stable/efs-provisioner --set efsProvisioner.efsFileSystemId=fs-12345678 --set efsProvisioner.awsRegion=us-east-2
- The
aws-efsstorage class must be marked with the default annotation so that PersistentVolumeClaim objects (without a StorageClass specified) will trigger dynamic provisioning.
kubectl patch storageclass aws-efs -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
- There has to be only one storage class with default setting, so remove other storage classes with default settings.
kubectl patch storageclass gp2 -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'
- After deploying the efs helm chart, execute the below command to get StorageClass name which can be used in values.yaml file for parameter
Persistence.StorageClass
kubectl get storageclass
For more information on efs-provisioner, refer stable/efs-provisioner