当前位置: 首页 > news >正文

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壮态了。成功!


http://www.mrgr.cn/news/43325.html

相关文章:

  • 【复习】HTML常用标签<table>
  • 使用DS18B20温度传感器读取温度,附STM32代码示例
  • VBA信息获取与处理第三个专题第三节:工作薄在空闲后自动关闭
  • Kafka 快速入门
  • 单细胞hdWGCNA分析学习和整理
  • 38 文件包含(标准库头文件、自定义头文件)、相对路径与绝对路径、条件编译(#if、#ifdef、#if define、#ifndef)
  • 华为 HCIP-Datacom H12-821 题库 (32)
  • GOM传奇版本假人脚本安装文字教程
  • 欄位未知的Datatable轉成ObserObservableCollection<T>對象
  • js 定义事件中心EventEmitter
  • 【算法笔记】滑动窗口算法原理深度剖析
  • Python中的仅限位置参数与仅限关键字参数
  • memset二维数组
  • 二分查找寻找左边界-2187. 完成旅途的最少时间
  • C(十三)for、while、do - while循环的抉择 --- 打怪闯关情景
  • Sentinel学习
  • Python 中的可调用对象
  • WordPress修改固定链接后301的重定向方法
  • 【AIGC】ChatGPT提示词Prompt助力自媒体内容创作升级
  • OpenCV马赛克