kubesphere 添加nfs 存储支持
添加Helm存储库
helm repo add azure http://mirror.azure.cn/kubernetes/charts
helm search repo nfs-client-provisioner
helm install nfs-storage azure/nfs-client-provisioner --set nfs.server=172.22.0.12 --set nfs.path=/data/nfs --set storageClass.name=nfs-storage --set storageClass.defaultClass=true --kubeconfig=/root/.kube/admin.conf
ING: This chart is deprecated
NAME: nfs-storage
LAST DEPLOYED: Wed Jan 11 16:06:36 2023
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
[root@node01 ~]# cat pvc-hbtest.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
namespace: hb-test
name: pvc-hbtest
spec:
storageClassName: "nfs-storage"
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Mi
kubectl apply -f pvc-hbtest.yaml --kubeconfig=/root/.kube/admin.conf
[root@node01 ~]# kubectl get pv --kubeconfig=/root/.kube/admin.conf
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-18cfde21-f4b5-4bc7-b9ff-e92a273b88c9 100Mi RWX Delete Bound hb-test/pvc-hbtest nfs-storage 13m
pvc-574e4524-a8a9-46c2-8ad0-a2e838c47e4e 20Gi RWO Delete Bound kubesphere-monitoring-system/prometheus-k8s-db-prometheus-k8s-0 local 110d
pvc-7b35cdd3-aa92-47ac-a126-76d0dbe621c8 2Gi RWO Delete Bound rich-cq/minio local 104d
pvc-814bf3b8-5512-4bc5-b758-d2fb52a2d803 10Mi RWX Delete Bound default/pvc-test nfs-storage 59m
nginx的静态文件目录,映射到nfs的 pvc目录。
报错处理:
问题:在k8s 1.21.0版本使用NFS作为StorageClass,实现PV动态供给。但PVC一直是pending状态,Pod也无法运行
错误: Normal ExternalProvisioning 13s (x24 over 5m43s) persistentvolume-controller waiting for a volume to be created,
either by external provisioner "cluster.local/nfs-clife-pr-nfs-client-provisioner" or manually created by system administrator
原因:selfLink was empty 在k8s集群 v1.20之前都存在,在v1.20之后被删除
解决:需要在/etc/kubernetes/manifests/kube-apiserver.yaml 添加参数
[root@k8s-matser01 nfs.rbac]# cat /etc/kubernetes/manifests/kube-apiserver.yaml
apiVersion: v1
···
- --tls-private-key-file=/etc/kubernetes/pki/apiserver.key
- --feature-gates=RemoveSelfLink=false # 添加这个配置
然后再次查看deploy,pod,pvc,都会部署成功
kubectl get deploy,pod,pvc,sc,pv
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端