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

Kubernetes 结点排水卡住的原因及解决方案

1. Pod 不能被安全驱逐

Pod 没有副本(如 DeploymentStatefulSet

如果 Pod 不是由 DeploymentDaemonSetStatefulSet 之类的控制器管理,而是一个独立的 Pod(kubectl run 创建的或者直接使用 Pod 资源定义的),K8s 不会自动重新调度它,从而导致 drain 命令卡住。

Pod 具有 PodDisruptionBudget(PDB) 限制

如果 PodDisruptionBudget(PDB)策略规定了最少可用副本数,而驱逐该节点上的 Pod 会导致违反 PDB,drain 就会卡住。

解决办法:

kubectl get pdb -A

找到受影响的 PDB,并根据情况调整 minAvailablemaxUnavailable 参数。


2. DaemonSet Pod 不能被驱逐

  • DaemonSet 管理的 Pod 默认不会被驱逐,kubectl drain 会一直等待它们被手动删除或使用 --ignore-daemonsets 参数。

解决办法:

kubectl drain <node> --ignore-daemonsets

3. 强制 Pod 驱逐

  • 如果有 Pod 设置了 finalizerTerminationGracePeriodSeconds,K8s 会等待 Pod 正常终止,超时可能会卡住。

解决办法:

kubectl delete pod <pod-name> --force --grace-period=0 --namespace=<namespace>

4. Pod 持有本地存储(emptyDir、hostPath)

  • 如果 Pod 使用了 emptyDirhostPath,那么 kubectl drain 默认不会强行驱逐。

解决办法:

kubectl drain <node> --delete-emptydir-data

5. API Server 网络或权限问题

  • 如果 kubectl drain 一直挂起,可能是 API Server 连接异常,或者 RBAC 权限不足。

解决办法:

kubectl auth can-i drain node --all-namespaces --as=<your-user>

如果尝试了以上方法仍然卡住,可以提供 kubectl drain 的日志或者执行 kubectl describe node <node> 查看具体情况。

http://www.dtcms.com/a/97699.html

相关文章:

  • Python 学习路线推荐
  • JSON5 格式标准 Data Exchange Format 官方文档 中英双语
  • 深度学习论文: Transformers without Normalization
  • 歌词json
  • Docker资源限制:给容器戴上精准“金箍“的工程指南
  • 机器学习knnlearn5
  • 硬件面试问题
  • centos7 linux VMware虚拟机新添加的网卡,能看到网卡名称,但是看不到网卡的配置文件
  • UE4学习笔记 FPS游戏制作30 显示击杀信息 水平框 UI模板(预制体)
  • 纯css实现环形进度条+动画加载效果
  • QScreen 捕获屏幕(截图)
  • 智能舵机:AI融合下的自动化新纪元
  • Postman 如何模拟 Request Payload 发送请求?
  • MySQL 性能优化:索引优化与查询优化
  • Scikit-learn全攻略:从入门到工业级应用
  • MQ的数据一致性,如何保证?
  • 网络基础:五层模型
  • 深入理解Spring Data JPA:简化Java持久层开发
  • 探索 curl ipinfo.io:从命令行获取你的网络身份卡!!!
  • 在Git仓库的Readme上增加目录页
  • 【LLM】Llama Factory:Windows部署全流程
  • linux如何查看系统版本
  • WinDbg. From A to Z! 笔记(一)
  • 项目代码第8讲【数据库基础知识】:SQL(DDL、DML、DQL、DCL);函数(聚合、字符串、数值、日期、流程);约束;多表查询;事务
  • 西域平台商品详情接口设计与实现‌
  • 电容式电压互感器在线监测系统
  • Uni-app入门到精通:tabBar节点实现多页面的切换
  • Open GL ES ->模型矩阵、视图矩阵、投影矩阵等变换矩阵数学推导以及方法接口说明
  • 深入解析 JSON-RPC:从基础到高级应用
  • VUE3+VITE 爬坑笔记