Extreme Thinking
nfs with redis and minio in k8s

2022-07-03


寫一下 nfs 與 redis 加 minio 安裝在 k8s

請先安裝 helm

與 nfs server 然後到 client 確認可 mount nfs server 的目錄

設定你的 node1 那台主機的 tag 例如 type=chio-node1

kubectl label nodes node1 type=chio-node1 --overwrite=true

建立 /tmp/nfs.yaml nfs.yaml

用 sed 換成你的主機資訊 (client node tag) (nfs server ip) (nfs server share path)

sed -i 's/node1/chio-node1/g' /tmp/nfs.yaml
sed -i 's/192.168.1.1/172.16.1.1/g' /tmp/nfs.yaml
sed -i 's/nfs-data/data/g' /tmp/nfs.yaml

helm 要先加 repo

helm repo add stable https://charts.helm.sh/stable

這邊安裝在 redis 的 namespace 所以建立 一下 (當然裝 default 也可, 那就不必建立了)

kubectl create namespace redis

驗證 安裝 default pods

helm install --dry-run major-nfs -f /tmp/nfs.yaml stable/nfs-client-provisioner

不加 –dry-run 裝在 redis namespace

helm install major-nfs -f /tmp/nfs.yaml stable/nfs-client-provisioner -n redis

驗證安裝

kubectl get pods -n redis
helm list -A

如要移除

helm uninstall major-nfs

/tmp/redis.yaml redis.yaml

換成你的 node 的 tag

sed -i 's/changeme/node1-chio/g' /tmp/redis.yaml

如果依照上面建立 nfs 就不必改

storageClass: "major-nfs"

驗證與安裝與察看安裝結果

helm install --dry-run redis -f /tmp/redis.yaml stable/redis
helm install redis -f /tmp/redis.yaml stable/redis -n
helm list -A
kubectl get pods -n redis

/tmp/minio.yaml minio.yaml

這邊就不詳述了換你的資訊與檢驗安裝與察看 (外網換port 32010)

sed -i 's/changeme/chio-node1/g' /tmp/minio.yaml
sed -i 's/YOUR_ACCESSKEY/admin/g' /tmp/minio.yaml
sed -i 's/YOUR_SECRETYKEY/skey0000111/g' /tmp/minio.yaml
sed -i 's/32111/32010/g' /tmp/gst/values.yaml
helm install --dry-run redis -f /tmp/minio.yaml stable/minio
helm install redis -f /tmp/minio.yaml stable/minio -n
helm list -A
kubectl get pods -n redis