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

k8s:0/1 nodes are available: pod has unbound immediate PersistentVolumeClaims.

一、环境


CPU:Hygon C86 7285 32-core Processor
操作系统:麒麟操作系统
containerd:1.7.27
Kubernetes:1.26.12
KubeSphere:4.1.2
kubekey:3.1.10
Zookeeper:3.9.3

二、现象

执行:

kubectl apply -f zookeeper-deployment.yaml -n cz-zhjg

报错内容:

0/1 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling.. 

ZooKeeper Pod (zookeeper-0) 处于 Pending 状态,表明Pod 无法启动是因为它依赖的 PersistentVolumeClaim (PVC) 没有绑定到任何 PersistentVolume (PV)。 

三、解决方案

3.1检查现有的 PVC

kubectl get pvc -n cz-zhjg

 

PVC 已经创建但尚未绑定到任何 PV 

3.2手动创建 PV

创建如下 PV 定义文件(pv-definition.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
name: zookeeper-data-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: default
hostPath:
path: "/mnt/data" # 根据实际情况更改路径
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: zookeeper-datalog-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: default
hostPath:
path: "/mnt/datalog" # 根据实际情况更改路径 

应用这些定义: 

kubectl apply -f pv-definition.yaml -n cz-zhjg 

3.3. 确认 PVC 绑定 

kubectl get pvc -n cz-zhjg

 

 

四、 zookeeper-deployment.yaml

apiVersion: v1
kind: Service
metadata:
name: zookeeper
labels:
app: zookeeper
spec:
ports:
- name: client
port: 2181
targetPort: 2181
- name: follower
port: 2888
targetPort: 2888
- name: leader
port: 3888
targetPort: 3888
selector:
app: zookeeper
type: ClusterIP
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: zookeeper
spec:
serviceName: zookeeper
replicas: 1
selector:
matchLabels:
app: zookeeper
template:
metadata:
labels:
app: zookeeper
spec:
containers:
- name: zookeeper
image: 172.23.123.117:8443/library/zookeeper:3.9.3
imagePullPolicy: IfNotPresent
ports:
- containerPort: 2181
name: client
- containerPort: 2888
name: follower
- containerPort: 3888
name: leader
env:
- name: ZOO_MY_ID
value: "1"
- name: ZOO_SERVERS
value: "server.1=0.0.0.0:2888:3888"
volumeMounts:
- name: zookeeper-data
mountPath: /data
- name: zookeeper-datalog
mountPath: /datalog
- name: dshm
mountPath: /dev/shm
resources:
requests:
memory: "512Mi"
cpu: "250m"
limits:
memory: "1Gi"
cpu: "500m"
securityContext:
privileged: true
capabilities:
add:
- IPC_LOCK
- SYS_RESOURCE
seccompProfile:
type: Unconfined
securityContext:
fsGroup: 1001
volumes:
- name: dshm
emptyDir:
medium: Memory
sizeLimit: 1Gi
volumeClaimTemplates:
- metadata:
name: zookeeper-data
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: "default"
resources:
requests:
storage: 10Gi
- metadata:
name: zookeeper-datalog
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: "default"
resources:
requests:
storage: 10Gi

http://www.xdnf.cn/news/15310.html

相关文章:

  • 论文Review 3DGSSLAM GauS-SLAM: Dense RGB-D SLAM with Gaussian Surfels
  • 使用python操作文件夹
  • Hashtable 与 HashMap 的区别笔记
  • [GWCTF 2019]我有一个数据库
  • 05.判断日期是工作日还是周末
  • 改进广告投入与销售额预测分析
  • JavaSE-多态
  • 从架构到代码:飞算JavaAI电商订单管理系统技术解构
  • [CH582M入门第六步]软件IIC驱动AHT10
  • 算法题(174):全排列问题
  • 归并排序递归法和非递归法的简单简单介绍
  • 运放压摆率?正弦波怎么输出了三角波?
  • 数据结构 单链表(2)--单链表的实现
  • 打破并发瓶颈:虚拟线程实现详解与传统线程模型的性能对比
  • 二叉树算法详解和C++代码示例
  • C++封装、多态、继承
  • RFCOMM协议详解:串口仿真与TCP/IP协议栈移植技术——面试高频考点与真题解析
  • 在Intel Mac的PyCharm中设置‘add bin folder to the path‘的解决方案
  • 【Scratch】从入门到放弃(六):指令大全-扩展类
  • iOS高级开发工程师面试——关于优化
  • 在AI应用中Prompt撰写重要却难掌握,‘理解模型与行业知识是关键’:提升迫在眉睫
  • 关于数据库的慢查询
  • C/C++数据结构之多维数组
  • MyBatis04-MyBatis小技巧
  • QT 多线程 管理串口
  • Node.js特训专栏-实战进阶:16. RBAC权限模型设计
  • 沃尔玛 卡号查询 滑块 分析
  • 深度学习图像分类数据集—角膜溃疡识别分类
  • TensorFlow深度学习实战(24)——变分自编码器详解与实现
  • spring-ai-alibaba 1.0.0.2 学习(十六)——多模态