Install NexentaStor CSI Driver to Minikube
Ubuntu 18.04
root
user access
Install dependencies:
apt update
apt install -y rpcbind nfs-common cifs-utils docker.io
Install kubectl :
apt update
apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
echo " deb https://apt.kubernetes.io/ kubernetes-xenial main" | tee -a /etc/apt/sources.list.d/kubernetes.list
apt update
apt install -y kubectl
Install minikube :
wget https://download.virtualbox.org/virtualbox/5.2.22/virtualbox-5.2_5.2.22-126460~Ubuntu~bionic_amd64.deb
dpkg -i virtualbox-5.2_5.2.22-126460~Ubuntu~bionic_amd64.deb
apt --fix-broken install
Start minikube :
minikube start --vm-driver=none --kubernetes-version=v1.12.3
Allow Docker to use local registry [only if needed]:
vim /etc/docker/daemon.json # add `{"insecure-registries":["10.3.199.92:5000"]}`
service docker restart
Create CSI driver k8s types:
kubectl create -f https://raw.githubusercontent.com/kubernetes/csi-api/ce972859c46136a1f4a9fe119d05482a739c6311/pkg/crd/manifests/csidriver.yaml
kubectl create -f https://raw.githubusercontent.com/kubernetes/csi-api/ce972859c46136a1f4a9fe119d05482a739c6311/pkg/crd/manifests/csinodeinfo.yaml
Clone the repository:
git clone https://github.com/Nexenta/nexentastor-csi-driver.git
cd nexentastor-csi-drive
Create k8s secret:
# secret for local registry
kubectl create secret generic nexentastor-csi-driver-config-manual --from-file=./tests/deploy/driver-config-manual.yaml
# OR
# secret for hub.docker.com
kubectl create secret generic nexentastor-csi-driver-config --from-file=./tests/deploy/driver-config-manual.yaml
Deploy CSI driver:
# master for local registry
kubectl apply -f ./tests/deploy/driver-local-manual.yaml
# OR
# master for hub.docker.com
kubectl apply -f ./deploy/kubernetes/master/nexentastor-csi-driver-master.yaml
Validate if it works:
watch -n1 --diff kubectl get all
Deploy Nginx example:
kubectl apply -f ./deploy/kubernetes/examples/nginx-storage-class.yaml