k8s 之动态创建pv失败(踩坑)

作者:程序那点事儿 日期:2024/02/05 18:53


初学容易范的错!

问题简述:

StorageClass创建成功,StatefulSet 启动不成功,与pvc关联的po和pvc一直是pending状态。 也就是说,StorageClass没有动态创建pv,所以pvc无法与pv绑定。

原因是制备器创建不了pv,是制备器使用的账号没有仅限(账号名称空间与绑定subjects下的名称空间不一致导致。subjects下如果kind是sa描述的是账号及账号所在的名称空间)。

解决办法:

  1. 不使用官方的provisioner制备器镜像,使用阿里云镜像

registry.cn-beijing.aliyuncs.com/pylixm/nfs-subdir-external-provisioner:v4.0.0

  1. 查看制备器provisioner启动状态

kubectl get po -n kube-system | grep nfs

  1. 查看provisioner的日志,发现账号缺少权限(是看这个日志才发现问题的)

kubectl logs -f nfs-client-provisioner-845cf4584c-4gzlz -n kube-system

原因是账号名称空间与角色绑定的名称空间要一致

修改之后删除账号、删除制备器、删除sts、删除sc

kubectl delete -f nfs-rbac.yaml

kubectl delete -f nfs-provisioner-pv.yaml

kubectl delete -f nfs-storageclass.yaml

kubectl delete -f nfs-statefulset.yaml

全部重新创建

kubectl apply -f nfs-rbac.yaml

kubectl apply -f nfs-provisioner-pv.yaml

kubectl apply -f nfs-storageclass.yaml

kubectl apply -f nfs-statefulset.yaml

kubectl get sa -n kube-system | grep nfs

kubectl get po -n kube-system | grep nfs

查看日志就成功了

查看pv/pvc是绑定状态了,sts的po也是running壮态了。成功!

相关推荐
水冗水孚16 分钟前
你用过docker部署前端项目吗?Tell Me Why 为何要用docker部署前端项目呢?
ubuntu·docker·容器
AKAMAI14 小时前
跳过复杂环节:Akamai应用平台让Kubernetes生产就绪——现已正式发布
人工智能·云原生·云计算
阿里云云原生21 小时前
不重启、不重写、不停机:SLS 软删除如何实现真正的“无感数据急救”?
云原生
Serverless社区2 天前
函数计算的云上计费演进:从请求驱动到价值驱动,助力企业走向 AI 时代
阿里云·云原生·serverless
资源开发与学习3 天前
Kubernetes集群核心概念 Service
kubernetes
阿里云云原生3 天前
【云栖大会】AI原生、AI可观测、AI Serverless、AI中间件,4场论坛20+议题公布!
云原生
容器魔方3 天前
Bloomberg 正式加入 Karmada 用户组!
云原生·容器·云计算
muyun28003 天前
Docker 下部署 Elasticsearch 8 并集成 Kibana 和 IK 分词器
elasticsearch·docker·容器
Nazi63 天前
k8s的dashboard
云原生·容器·kubernetes
傻傻虎虎3 天前
【Docker】常用帮忙、镜像、容器、其他命令合集(2)
运维·docker·容器