Setting up persistant storage using OpenEBS
Install iSCSI on all nodes
Refer: https://docs.openebs.io/docs/next/prerequisites.html
Install iSCSI tools if not installed
sudo apt-get update
sudo apt-get install open-iscsi
sudo systemctl enable --now iscsid
Check if iSCSI is running
sudo systemctl status iscsid
Make sure you have admin context
kubectl config use-context kubernetes-admin@kubernetes
Remove taint from master node
We need to use master node as a storage node where all database files and persistant volumes will be stored. Remove taint from master node so that master node will be available to schedule pods
kubectl taint node <masternode_name> node-role.kubernetes.io/master:NoSchedule-
Install using kubectl
Download file https://openebs.github.io/charts/openebs-operator.yaml
to install OpenEBS to use volumes from master node we need to label master node with appropriate label
Use following command to label master node
kubectl label nodes <node-name> node=openebs
Next, in the downloaded openebs-operator.yaml, find the PodSpec for openebs-provisioner
, maya-apiserver
, openebs-snapshot-operator
, openebs-admission-server
and openebs-ndm
pods and add the following key-value pair under nodeSelector
field
nodeSelector field will be available in pod > specs > template > specs > nodeSelector
nodeSelector:
node: openebs
Install OpenEBS with updated command
kubectl apply -f openebs-operator.yml
Check if OpenEBS has been installed
kubectl get pods -n openebs -o wide
Output should show running pods
No Comments