K8S常见问题汇总

一、 驱逐 master 节点上的所有 Pod

这会“清空”一个节点(包括 master)上的所有可驱逐的 Pod:

kubectl drain <master-node-name> --ignore-daemonsets --delete-emptydir-data
  • --ignore-daemonsets:保留 DaemonSet 类型的 Pod
  • --delete-emptydir-data:允许删除使用 emptyDir 的本地数据

例如:

kubectl drain master-node-01 --ignore-daemonsets --delete-emptydir-data

⚠️ 注意: 你可能需要先允许对 master 节点操作:

kubectl taint nodes master-node-01 node-role.kubernetes.io/master-

要彻底不让 Pod 再运行在 master 节点上,你可以通过以下几种方式来实现。推荐使用的是 给 master 节点打 taint,并确保 Pod 不会设置容忍(toleration)去匹配这个 taint。

✅ 步骤一:给 master 节点打 Taint(防止调度业务 Pod)

执行以下命令,给 master 节点打 taint:

kubectl taint nodes <master-node-name> node-role.kubernetes.io/master=:NoSchedule

例如,如果你的 master 节点名字是 master-node-01:

kubectl taint nodes master-node-01 node-role.kubernetes.io/master=:NoSchedule

这条命令的意思是:不允许任何没有明确容忍该 taint 的 Pod 调度到 master 节点上。

✅ 步骤二:确保你的业务 Pod 没有添加 tolerations

查看你的 Deployment、StatefulSet、Pod 等 YAML,确认里面没有如下 toleration 字段:

tolerations:
- key: "node-role.kubernetes.io/master"effect: "NoSchedule"

如果有,要把这段删掉。

✅(可选)步骤三:把现有运行在 master 节点上的 Pod 迁移出去


kubectl drain <master-node-name> --ignore-daemonsets --delete-emptydir-data

例如:

kubectl drain master-node-01 --ignore-daemonsets --delete-emptydir-data

这样会驱逐业务 Pod,但保留 DaemonSet 等系统 Pod。

🚫 常见误区

  • 只设置了 taint,不迁移现有 Pod → 现有 Pod 不会自动移动,要你手动 drain

  • 有容忍规则的 Pod 仍然可以调度到 master → 所以要确保没有写 tolerations

二、调度失败

如果出现报错0/3 nodes are available: 1 Insufficient cpu, 1 node(s) had untolerated taint {node-role.kubernetes.io/master: }, 1 node(s) had untolerated taint {node.kubernetes.io/disk-pressure: }. preemption: 0/3 nodes are available: 1 No preemption victims found for incoming pod, 2 Preemption is not helpful for scheduling..
这个报错信息说明 Pod 无法调度 到任何节点,原因如下:

❌ 调度失败原因解析

共 3 个节点,全部不可用:

1️⃣ 1 Insufficient cpu
有一个节点 CPU 不足,无法调度 Pod。

2️⃣ 1 node(s) had untolerated taint {node-role.kubernetes.io/master: }
有一个节点是 master,并且带有 taint node-role.kubernetes.io/master:NoSchedule,但 Pod 没有 toleration,所以不能调度过去。

3️⃣ 1 node(s) had untolerated taint {node.kubernetes.io/disk-pressure: }
有一个节点存在 磁盘压力(disk pressure),K8s 自动打了 taint:

node.kubernetes.io/disk-pressure:NoSchedule

Pod 默认不会容忍这个 taint,所以不能调度过去。

✅ 方法:清理磁盘压力节点

在master节点执行下面命令:

kubectl describe node <node-name>

❗当前节点的问题:

  • 磁盘空间不足 导致:

    • 自动打上 disk-pressure taint;

    • kubelet 尝试清理镜像失败:

Failed to garbage collect required amount of images.
Attempted to free 46250890035 bytes, but only found 0 bytes eligible to free.
  • 被标记为不能调度业务 Pod。

✅ 建议解决步骤:

✅ 1. 清理无用镜像

在 k8s-node1 节点上运行以下命令:

sudo crictl rmi --prune

sudo docker system prune -a

⚠️ 第二个命令适用于使用 Docker 作为容器运行时的情况,你用的是 containerd,所以首选 crictl 命令。

✅ 2. 查看哪些文件占用了磁盘空间

你可以使用以下命令找出大文件和目录(推荐):

sudo du -h / --max-depth=1 | sort -hr | head -n 20

特别关注 /var/lib/containerd//var/lib/docker/,这些目录通常会积累大量镜像和容器数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/79064.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【银河麒麟高级服务器操作系统】服务器外挂存储ioerror分析及处理分享

更多银河麒麟操作系统产品及技术讨论&#xff0c;欢迎加入银河麒麟操作系统官方论坛 forum.kylinos.cn 了解更多银河麒麟操作系统全新产品&#xff0c;请点击访问 麒麟软件产品专区&#xff1a;product.kylinos.cn 开发者专区&#xff1a;developer.kylinos.cn 文档中心&a…

C++命名空间、内联与捕获

命名空间namespace 最常见的命名空间是std,你一定非常熟悉,也就是: using namespace std;命名空间的基本格式 注意,要在头文件里面定义! namespace namespace_name{data_type function_name(data_type parameter){data_type result;//function contentreturn result;}…

软件测试名词科普:驱动模块、桩模块

目录 1. 驱动模块 2. 桩模块​ 3. 驱动模块 vs 桩模块 对比表 4. 示例代码 在软件测试中&#xff0c;​驱动模块&#xff08;Driver Module&#xff09;​和桩模块&#xff08;Stub Module&#xff09;​是两种用于单元测试的关键组件&#xff0c;主要用于模拟测试环境中的…

线程池的核心参数和线程创建方式,线程和进程

Java线程池的核心参数 Java线程池通过ThreadPoolExecutor类进行配置&#xff0c;其核心参数如下&#xff1a; corePoolSize&#xff08;核心线程数&#xff09; 作用&#xff1a;线程池中保持活动的最小线程数&#xff0c;即使这些线程处于空闲状态。 行为&#xff1a;默认情…

【报错】view size is not compatible with input tensor‘s size and stride

完整报错 Traceback (most recent call last): File "D:\360MoveData\Users\HONOR\whu\TwoStageTraining.py", line 590, in <module> criterionseg_criterion, save_dir./models, writerwriter_first_stage) File "D:\360MoveData\Users\HONOR\whu\TwoS…

汽车免拆诊断案例|车辆行驶中急加速车身抖动故障排除 2 例

案例1 2017款丰田卡罗拉车行驶中急加速车身偶尔抖动 故障现象  一辆 2017款丰田卡罗拉车&#xff0c;搭载9NR 发动机&#xff0c;累计行驶里程约为9.6万km。车主进厂反映&#xff0c;该车行驶中急加速时&#xff0c;车身偶尔抖动。 故障诊断  接车后试车&#xff0c;发动机…

vue3 computed方法使用详细讲解

Computed方法用于创建计算属性&#xff0c;它的值由其他响应式数据计算得出&#xff0c;并且会在依赖数据发生改变时自动更新。因为vue3兼容vue2的选项式api,所以习惯用vue2的小伙伴可以直接用vue2的方法写是没有问题的。但我这里介绍的是computed在vue3中的新语法&#xff1a;…

std::iota(C++)

std::iota 1. 概述2. 函数原型3. 使用示例示例 1&#xff1a;填充 vector<int>示例 2&#xff1a;从非零起始值开始 4. 应用场景5. 注意事项6. 与其它算法比较小结 1. 概述 std::iota 定义在头文件 中&#xff0c;C11 起引入。 它用于向前迭代器区间依次填入连续递增的数…

基于Jaccard算法的用户浏览历史推荐商品系统实战+springboot+vue源码实现

大家好&#xff0c;这里是小罗毕设工作室。今天给大家带来了一套完整的推荐系统&#xff1a; “基于Jaccard算法的用户浏览历史推荐商品系统”。 系统源码后端实现是springboot&#xff0c;前端是vue3。 视频演示 基于Jaccard算法的用户浏览历史推荐商品系统实战 图片截图 算法…

正态分布和幂律分布

1. 背景与引入 正态分布 历史来源&#xff1a;18世纪由高斯&#xff08;Gauss&#xff09;在研究测量误差时提出&#xff0c;后被广泛应用于自然现象和社会科学的数据建模。重要性&#xff1a;被称为“钟形曲线”&#xff0c;是统计学中最核心的分布之一&#xff0c;支撑中心极…

免费AI图像编辑平台,最新无损放大技术

软件介绍 腾讯ARC网页在线AI图片处理是一款由腾讯ARC实验室推出的在线图像处理工具。凭借腾讯的科技实力&#xff0c;这款工具在图像处理领域展现了卓越的性能。 功能亮点 这款在线图像处理工具提供多种功能&#xff0c;包括人像修复、人像抠图、动漫增强、万物识别以及…

# 部署深度学习模型:Flask API 服务端与客户端通信实战

部署深度学习模型&#xff1a;Flask API 服务端与客户端通信实战 在这篇文章中&#xff0c;我们将探讨如何使用 Flask 框架部署一个深度学习模型&#xff0c;并通过客户端与服务端进行通信。我们将通过一个实际的例子&#xff0c;展示如何构建服务端和客户端&#xff0c;以及如…

物理服务器紧急救援:CentOS系统密码重置全流程实战指南

前言 在企业IT运维实践中&#xff0c;物理服务器密码丢失是典型的"低概率高风险"事件。某金融科技公司曾因核心服务器密码遗失导致业务中断36小时&#xff0c;直接损失超过800万元。这起真实案例揭示了系统密码管理的关键性——当承载重要业务的物理服务器遭遇密码丢…

【学习心得】好用算力平台推荐OpenBayes“贝式计算”

好用是有定义的&#xff0c;我之前用过AutoDL和DAMODEL&#xff08;丹摩智算&#xff09;&#xff0c;我这里就不扯哪些我觉得不关键的因素。先不废话直接给出导航链接以及CSDN上的官方主页&#xff1a; OpenBayes官方网站https://openbayes.com/ OpenBayes官方CSDN账号主页h…

政务浏览器 一站式首页功能配置说明

一、政务浏览器自定义首页目的和意义 政务综合窗口&#xff0c;通常需要打开诸多的业务系统进行受理和查询&#xff1b;反复的录入系统地址或者在收藏夹查找系统入口&#xff0c;影响办事效率。政务浏览器为该场景设计了一款可定制的“首页”。 “首页”可以根据需要&#xff0…

linux nginx配置访问目录,访问文件直接下载,linux配置nginx直链下载

很简单的一个配置&#xff0c;不指定为啥&#xff0c;别人写的都好麻烦&#xff0c;而且很多配置了也不行&#xff0c;明明就是几句话的事啊&#xff0c;唉。 话不多说&#xff0c;直接上配置 worker_processes 1; events {worker_connections 1024; } http {include …

驱动开发硬核特训 · Day 28(上篇):pinctrl 子系统详解与实战分析

&#x1f4da; 技术平台&#xff1a;嵌入式Jerry&#xff08;B站&#xff09; 一、引言 在嵌入式系统中&#xff0c;SoC 芯片的引脚通常具有多种功能&#xff0c;如 GPIO、UART、I2C、SPI 等。为了在不同的应用场景中灵活配置引脚功能&#xff0c;Linux 内核引入了 pinctrl&am…

图漾相机——Sample_V2示例程序(待补充)

文章目录 1.SDK支持的平台类型1.1 Windows 平台1.2 Linux平台 2.Sample_V2编译流程2.1 Windows环境2.2 Linux环境编译 3.Sample_V2示例程序测试3.1 ListDevice_v23.2 DepthStream_v23.3 ExposureTimeSetting_v23.4 ForceDeviceIP_v23.5 GetCalibData_v23.6 NetStatistic_v23.7 …

Google-chrome版本升级后sogou输入法不工作了

背景&#xff1a; 笔记本Thinkpad E450&#xff0c;操作系统Ubuntu 24.04.2 LTS&#xff0c;Chrome浏览器版本135.0.7049.114-1&#xff0c;Edge浏览器版本131.0.2903.99-1&#xff0c;输入法Sogou版本4.2.1.145 现象&#xff1a; - **正常场景**&#xff1a;Edge中可通过Ctrl…

7系列 之 OSERDESE2

背景 《ug471_7Series_SelectIO.pdf》介绍了Xilinx 7 系列 SelectIO 的输入/输出特性及逻辑资源的相关内容。 第 1 章《SelectIO Resources》介绍了输出驱动器和输入接收器的电气特性&#xff0c;并通过大量实例解析了各类标准接口的实现。 第 2 章《SelectIO Logic Resource…