1、参考10.2.1 安装Helm
2、参考8.3 NFS存储搭建NFS服务
3、参考8.4 API资源对象StorageClass安装SC
$ k get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
nfs-client k8s-sigs.io/nfs-subdir-external-provisioner Delete Immediate false 5h40m
4、在k8s里起一个consul服务
下载包
$ helm pull bitnami/consul --untar
修改values.yaml,搜索storageClass,storageClass后面更改为"nfs-client"
$ cd consul
$ vi values.yaml
...
...
storageClass: "nfs-client"
...
...

helm安装
$ cd consul
$ helm install prometheus-consul .
查看pvc
$ kubectl get pvc | grep prometheus-consul
data-prometheus-consul-0 Bound pvc-b1cb0c94-dcd2-443e-912a-eab7bf9b962c 8Gi RWO nfs-client 112s
data-prometheus-consul-1 Bound pvc-34d32a70-ac20-4535-a46b-323ef1ac984b 8Gi RWO nfs-client 112s
data-prometheus-consul-2 Bound pvc-8905baff-9c68-425c-ab41-51a45bb55d93 8Gi RWO nfs-client 112s
查看pod
$ kubectl get po | grep prometheus-consul
prometheus-consul-0 1/1 Running 4 (2m53s ago) 15m
prometheus-consul-1 1/1 Running 0 15m
prometheus-consul-2 1/1 Running 6 (4m32s ago) 15m
查看consul的service
$ kubectl get svc |grep consul
prometheus-consul-headless ClusterIP None <none> 8500/TCP,8400/TCP,8301/TCP,8301/UDP,8300/TCP,8600/TCP,8600/UDP 2m9s
prometheus-consul-ui ClusterIP 10.0.195.154 <none> 80/TCP 2m9s