LukeShortCloud / rootpages

Root Pages is a collection of easy-to-reference tutorials and guides primarily for Linux and other UNIX-like systems.
Other
56 stars 6 forks source link

[virtualization][kubernetes_administration] Create PV with GlusterFS back-end automatically using Kadalu #568

Open LukeShortCloud opened 2 years ago

LukeShortCloud commented 2 years ago

https://kadalu.io/docs/k8s-storage/devel/storage-config-options/

LukeShortCloud commented 2 years ago

Official installation instructions:

curl -LO https://github.com/kadalu/kadalu/releases/latest/download/kubectl-kadalu
chmod +x ./kubectl-kadalu
sudo mv ./kubectl-kadalu /usr/local/bin/kubectl-kadalu
kubectl kadalu install

https://kadalu.io/docs/k8s-storage/devel/quick-start/

LukeShortCloud commented 2 years ago

Upgrade instructions:

- run script https://github.com/kadalu/kadalu/blob/devel/extras/scripts/cleanup
- follow the installation instruction from https://github.com/kadalu/kadalu/blob/devel/doc/quick-start.md
- pray^W fix the issues by hand, case by case

https://github.com/kadalu/kadalu/issues/377

LukeShortCloud commented 2 years ago

Newer versions look to possibly support upgrades via kubectl kadalu install: https://github.com/kadalu/kadalu/pull/411/commits

LukeShortCloud commented 2 years ago

Create a single-node GlusterFS StorageClass (just a single NFS server):

$ kubectl kadalu storage-add <STORAGE_CLASS_NAME> -type=Replica1 --path <KUBERNETES_NODE>:<PATH>

Create a three-node GlusterFS StorageClass:

$ kubectl kadalu storage-add <STORAGE_CLASS_NAME> --type=Replica3 --path <KUBERNETES_NODE_1>:<PATH> --path <KUBERNETES_NODE_2>:<PATH> --path <KUBERNETES_NODE_3>:<PATH>
LukeShortCloud commented 2 years ago

Uninstall:

kubectl -nkadalu delete StatefulSet kadalu-csi-provisioner
kubectl -nkadalu delete ClusterRoleBinding kadalu-csi-provisioner
kubectl -nkadalu delete ServiceAccount kadalu-csi-provisioner
kubectl -nkadalu delete ClusterRole kadalu-csi-provisioner
kubectl -nkadalu delete Role kadalu-csi-provisioner
kubectl -nkadalu delete RoleBinding kadalu-csi-provisioner
kubectl -nkadalu delete DaemonSet kadalu-csi-nodeplugin
kubectl -nkadalu delete ClusterRoleBinding kadalu-csi-nodeplugin
kubectl -nkadalu delete ClusterRole kadalu-csi-nodeplugin
kubectl -nkadalu delete ServiceAccount kadalu-csi-nodeplugin
kubectl delete CSIDriver kadalu
kubectl get Service -nkadalu | awk '{print $1}' | xargs kubectl -nkadalu delete Service
kubectl get StatefulSet -nkadalu | awk '{print $1}' | xargs kubectl -nkadalu delete StatefulSet
kubectl get storageclass | grep kadalu | awk '{print $1}' | xargs kubectl delete storageclass
kubectl delete -nkadalu CustomResourceDefinition kadalustorages.kadalu-operator.storage
kubectl delete -nkadalu ClusterRole pod-exec
kubectl delete -nkadalu ClusterRole kadalu-operator
kubectl delete -nkadalu ServiceAccount kadalu-operator
kubectl delete -nkadalu ClusterRoleBinding kadalu-operator
kubectl delete -nkadalu Deployment kadalu-operator
kubectl delete CSIDriver kadalu
kubectl delete namespace kadalu

https://github.com/kadalu/kadalu/blob/devel/extras/scripts/cleanup