Skip to content

Instantly share code, notes, and snippets.

@nobiit
Last active August 10, 2022 07:48
Show Gist options
  • Save nobiit/b6619991cd1a8c56f49704d9284a9a67 to your computer and use it in GitHub Desktop.
Save nobiit/b6619991cd1a8c56f49704d9284a9a67 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
set -e
kind create cluster --config - <<-EOF
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: control-plane
- role: control-plane
EOF
for key in $(kubectl get nodes -o json | jq -r '.items[].spec.taints | try(.[] | select(.effect == "NoSchedule") | .key)' | sort | uniq); do
kubectl taint nodes --all ${key}- || true
done
curl -sL s.nobidev.com/setup-metallb.sh | grep -v 'install-k8s.sh' | bash -s -
if [ $(kubectl get statefulset.apps -n nfs-provisioner -o json | jq -r .items[].metadata.name | grep -c '^nfs-provisioner-nfs-server-provisioner$') == 0 ]; then
if [ $(kubectl get namespaces -o json | jq -r .items[].metadata.name | grep -c '^nfs-provisioner$') == 0 ]; then
kubectl create namespace nfs-provisioner
fi
if [ $(helm repo list -o json | jq -r .[].name | grep -c '^nfs-provisioner$') == 0 ]; then
helm repo add nfs-provisioner https://kubernetes-sigs.github.io/nfs-ganesha-server-and-external-provisioner
helm repo update
fi
helm install nfs-provisioner nfs-provisioner/nfs-server-provisioner -n nfs-provisioner
fi
if [ $(kubectl get statefulset.apps -n nfs-provisioner -o json | jq -r .items[].metadata.name | grep -c '^nfs-provisioner-nfs-server-provisioner$') == 1 ]; then
kubectl rollout status statefulsets -n nfs-provisioner nfs-provisioner-nfs-server-provisioner
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment