吐槽
应用k8s也有段时间了,不得不说在无状态服务上k8s确实很好用,但是有状态服务用k8s还是难免有些心虚(了解的还是够深入吧…),担心数据丢失,所以推荐在大家将有状态服务部署到k8s集群中时,还是要定时备份的。今天写一下k8s中pv和pvc如何运用,可以极大的方便我们抽象存储,不必理会存储实在那些node上。
第一步
将local-pv-provisinoer部署到集群中,他是一个daemonSet类型的服务,因为daemonSet是应用于Node上的,所以它可以配置一个路径用于目录挂载,如果Node中存在挂载点,那么就会在k8s集群中创建一个pv,后面创建pod就可以应用了
部署local-pv-provisinoer
# link https://www.jianshu.com/p/436945a25e9f
### download helm
wget https://get.helm.sh/helm-v3.1.2-linux-amd64.tar.gz
tar -zxvf helm-v3.1.2-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm
### download local-static-provisioner yaml template
wget https://github.com/kubernetes-sigs/sig-storage-local-static-provisioner/archive/v2.3.4.tar.gz
tar -zxvf v2.3.4.tar.gz
cd sig-storage-local-static-provisioner-2.3.4
helm template ./helm/provisioner -f ./helm/provisioner/values.yaml > local-volume-provisioner.generated.yaml
sed -i 's#/mnt/fast-disks#/local/pv/#g' local-volume-provi