k8s Pods漂移时间配置

默认为300秒

在这里插入图片描述

apiVersion: apps/v1
kind: Deployment
metadata:name: my-test
spec:replicas: 1selector:matchLabels:app: my-apptemplate:metadata:labels:app: my-appspec:containers:- name: my-containerimage: nginx:latestports:- containerPort: 80tolerations:- key: "node.kubernetes.io/not-ready"operator: "Exists"effect: "NoExecute"tolerationSeconds: 20- key: "node.kubernetes.io/unreachable"operator: "Exists"effect: "NoExecute"tolerationSeconds: 20

helm 方式

helm install mysql bitnami/mysql  \
--set global.storageClass=nfs \
--set auth.rootPassword="123qweasd" \
--set metrics.enabled="true" \
--set tolerations[0].key=node.kubernetes.io/not-ready, \
--set tolerations[0].operator=Exists, \
--set tolerations[0].effect=NoExecute, \
--set tolerations[0].tolerationSeconds=20 \
--set tolerations[0].key=node.kubernetes.io/unreachable, \
--set tolerations[0].operator=Exists, \
--set tolerations[0].effect=NoExecute, \
--set tolerations[0].tolerationSeconds=20

或者直接vim values.yaml 编辑如下:

在这里插入图片描述

修改后

在这里插入图片描述

在 Kubernetes 中,节点(Node)的污点(Taints)和Pod的容忍度(Tolerations)是控制Pod调度的关键机制,帮助管理员管理集群资源和确保应用程序的高可用性。node.kubernetes.io/not-ready 和 node.kubernetes.io/unreachable 是两种常见的节点污点,它们有不同的含义和用途:
# node.kubernetes.io/not-ready
•  含义:当节点上的Kubelet无法报告其Ready状态,或者报告自己为NotReady时,节点会被打上这个污点。这可能是因为节点上的Kubernetes组件出现问题,或者资源压力大到无法处理额外负载。
•  作用:标记这样的节点告诉调度器不要将新的Pod调度到该节点上,但已存在的Pod不会被立即驱逐。这有助于防止问题进一步恶化,同时允许系统管理员调查和恢复节点。
# node.kubernetes.io/unreachable
•  含义:当API服务器连续几次心跳检查(通过节点监听器)都无法联系到节点时,该节点会被标记为unreachable。这通常意味着节点可能彻底离线或网络完全隔离。
•  作用:相比 not-ready,unreachable 污点更严重,因为它意味着节点几乎肯定无法响应。Kubernetes会更快地将此视为需要采取行动的情况,通常会驱逐节点上的Pod(如果Pod不包含容忍此污点的话),以保护集群的整体健康和稳定性。
不同点总结
•  严重程度:unreachable 比 not-ready 更严重,因为它暗示了更深层次的通信问题或节点故障。
•  驱逐行为:默认情况下,打上 unreachable 污点的节点上的Pod更可能被驱逐,而 not-ready 的节点上Pod可能不会立即驱逐,除非污点效应设置为 NoExecute 且Pod未设置相应容忍。
•  故障排查:not-ready可能指示节点上有待解决的服务或配置问题,而 unreachable 可能意味着物理连接或网络问题,需要更紧急的硬件或网络层面的干预。
设置容忍度
例子中,node.kubernetes.io/not-ready:NoExecute op=Exists for 20s 和 node.kubernetes.io/unreachable:NoExecute op=Exists for 20s 这样的表述是不标准的,因为 tolerations 不直接包含时间限制。正确的设置方式如上文所述,但注意调整容忍度时只需定义键、操作符、效果,而不直接设置时间。如果要控制Pod在被驱逐后的行为,应调整Pod的 olerationSeconds
      tolerations:- key: "node.kubernetes.io/not-ready"operator: "Exists"effect: "NoExecute"tolerationSeconds: 20- key: "node.kubernetes.io/unreachable"operator: "Exists"effect: "NoExecute"tolerationSeconds: 20
简单来说,Kubernetes是一个管理容器(想象成小盒子,里面装着运行的软件)的大管家。在这个系统里,有两件东西我们正在谈论:一个是“污点”(就像贴在盒子存放地点的警告标签),另一个是“容忍度”(就是盒子愿意接受哪些警告标签的意思)。
node.kubernetes.io/not-ready 和 node.kubernetes.io/unreachable 是两种不同的“警告标签”:1. node.kubernetes.io/not-ready:就像是仓库管理员说,“这个仓库有点问题,暂时不适合放新货进来。”但已经在里面的货物还可以继续待着,不一定马上搬走,等仓库可能还能修好。2. node.kubernetes.io/unreachable:更严重,意思是“管理员完全联系不上这个仓库了,不知道里面咋样了。”这时候,里面的货物(也就是软件容器)可能会被迅速安排转移到别的安全的地方,以防万一。“容忍度”设置为20秒是啥意思?
本来想表达的意思可能是想让仓库里的货物(容器)在遇到这两种情况时,快点(比如20秒内)做出反应,但实际上,Kubernetes的“容忍度”配置不直接这样设置时间。它是告诉Kubernetes,我们的容器能接受哪些类型的仓库(节点)问题,而不是说多快反应。
如果真的想控制容器在发现问题后多久开始行动,那得去设置“容器的搬家准备时间”(正式名字叫 terminationGracePeriodSeconds),这是说容器从接到搬家通知到开始打包走人的最长等待时间。Kubernetes处理有问题的节点(仓库),以及容器(货物)怎样接受这些状况。not-ready和unreachable是不同等级的问题标签,而“容忍度”是容器愿意接受什么问题,但不能直接设置时间,时间控制在别的地方设置。

也可以通过node节点直接配置全局

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

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

相关文章

C++语言学习(七)—— 继承、派生与多态(一)

目录 一、派生类的概念 1.1 定义派生类的语法格式 1.1.1 定义单继承派生类 1.1.2 定义多继承派生类 1.2 继承方式 二、公有继承 三、派生类的构造和析构 四、保护成员的引入 五、改造基类的成员函数 六、派生类与基类同名成员的访问方式 七、私有继承和保护继承 7.…

bug记录——报了一堆xtr1common和yvals_core.h的错误

现象 今天使用VisualStdio2022时&#xff0c;突然出现了这样严重的报错&#xff0c;看得我一头雾水&#xff0c;而且无法启动VisualStdio2022的调试。 原因 发现NULL没法直接使用时&#xff0c;跟着提示添加了如下的头文件。 #include<cstddef>&#xff0c;是C标准库的头…

代码随想录算法训练营Day61 | 总结和展望 | Python | 个人记录向

总结 感觉训练营说短不短&#xff0c;说长不长&#xff0c;没想到一下子就度过了60天的刷题之旅。训练营之前自己模糊地刷过代码随想录&#xff0c;主要是二叉树前面的章节二叉树的前一部分后面章节的前几题&#xff0c;能稍微应对面试。但是&#xff0c;我亟需对coding进行系…

Blog项目切换Markdown编辑器———LayUI弹出层弹出写在页面的内容导致的各种bug

【2024.5.24回顾】 1 问题描述(描述完自己解决了…) 正常情况 点击添加文章按钮后&#xff0c;弹出文章编辑界面&#xff0c;如果用富文本功能编辑&#xff0c;则一切正常。可以多次打开、关闭 Markdown 如果在弹出层中点击了切换编辑器按钮&#xff0c;会成功切换为markd…

使用chatgpt api快速分析pdf

需求背景 搞材料的兄弟经常要分析pdf&#xff0c;然后看到国外有产品是专门调用chatpdf来分析pdf的&#xff0c;所以就来问我能不能帮他也做一个出来。正好我有chatgpt的api&#xff0c;所以就研究了一下这玩意怎么弄。 需求分析 由于chatgpt是按字符算钱的&#xff0c;所以…

JDBC学习笔记(三)高级篇

一、JDBC 优化及工具类封装 1.1 现有问题 1.2 JDBC 工具类封装 V1.0 resources/db.properties配置文件&#xff1a; 工具类代码&#xff1a; 1.3 ThreadLocal 1.4 JDBC 工具类封装 V2.0 二、DAO封装及BaseDAO 工具类 2.1 DAO 概念 2.2 BaseDAO 概念 2.3 BaseDAO 搭建 2.4 Ba…

每天一个数据分析题(三百四十八)

理解业务分析模型能够更好的把握业务全局&#xff0c;以下属于分析模型中分类模型的是 A. RFM模型 B. 销售漏斗模型 C. 波士顿矩阵 D. 客户价值模型 数据分析认证考试介绍&#xff1a;点击进入 题目来源于CDA模拟题库 点击此处获取答案

Go 实现的命令行程序,可以通过参数来控制和消耗 CPU 占比。通常用于测试系统负载和性能。

说明 Go 实现的命令行程序&#xff0c;可以通过参数来控制和消耗 CPU 占比。通常用于测试系统负载和性能。 代码在下面 编译和运行 在终端中编译代码&#xff1a; go build 运行程序并传入 CPU 使用率参数&#xff0c;例如&#xff1a; ./tools_cpu_burner -p50代码解释 fla…

WPF前端:一个纯Xaml的水平导航栏

效果图&#xff1a; 代码&#xff1a; 1、样式代码&#xff0c;可以写在窗体资源处或者样式资源文件中 <Style x:Key"MenuRadioButtonStyle" TargetType"{x:Type RadioButton}"><Setter Property"FontSize" Value"16" />…

Always语句和assign的用法

Always语句 简介 always语句块从仿真0时刻开始执行其中的行为语句&#xff1b;最后一条执行完成后&#xff0c;再开始执行其中的第一条语句&#xff0c;如此往复循环&#xff0c;直到整个仿真结束。因此&#xff0c;always语句块常用于对数字电路中一组反复执行的活动进行建模…

【TensorFlow深度学习】RNN短时记忆缺陷与LSTM改进原理

RNN短时记忆缺陷与LSTM改进原理 RNN的局限与LSTM&#xff1a;短时记忆缺陷及其优化原理的深度解析RNN的STM问题剖析LSTM原理与改进LSTM代码实例结语 RNN的局限与LSTM&#xff1a;短时记忆缺陷及其优化原理的深度解析 在深度学习的征程中&#xff0c;循环神经网络&#xff08;R…

开源规则引擎LiteFlow项目应用实践

本文介绍基于开源规则引擎LiteFlow&#xff0c;如何开发规则设计器&#xff0c;在低代码平台中集成规则引擎&#xff0c;并在项目中实现应用的效果。由于低代码平台使用规则引擎实现了逻辑编排的需求&#xff0c;所以本文中的叫法为“逻辑设计”、“逻辑编排”、“逻辑流引擎”…

.NET IoC 容器(三)Autofac

目录 .NET IoC 容器&#xff08;三&#xff09;AutofacAutofacNuget 安装实现DI定义接口定义实现类依赖注入 注入方式构造函数注入 | 属性注入 | 方法注入注入实现 接口注册重复注册指定参数注册 生命周期默认生命周期单例生命周期每个周期范围一个生命周期 依赖配置Nuget配置文…

0基础学习区块链技术——推演猜想

在《0基础学习区块链技术——入门》一文中&#xff0c;我们结合可视化工具&#xff0c;直观地感受了下区块的结构&#xff0c;以及链式的前后关系。 本文我们将抛弃之前的知识&#xff0c;从0开始思考和推演&#xff0c;区块链技术可能是如何构思出来的。 去中心 在一般的思维…

回溯算法之组合总和2

题目&#xff1a; 给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意&#xff1a;解集不能包含重复的组合。 示例 1: 输入: candi…

浅谈配置元件之随机变量

浅谈配置元件之随机变量 1.概述 为了增强测试的真实性和多样性&#xff0c;JMeter 提供了多种配置元件来生成动态数据&#xff0c;其中“随机变量”(Random Variable) 就是一种常用的配置元件&#xff0c;用于生成随机数值、字符串等&#xff0c;以模拟不同用户请求中的变化参…

认识meta

目录 认识meta camera_metadata的存储结构 camera_metadata的基本操作 申请camera_metadata 增加entry 查找entry 更新entry 删除entry 对tag的查找操作 vendor_tag_ops和vendor_cache_ops是Andriod提供的接口 propertyID Camxhal3metadatautil.cpp文件理解 Initia…

Redisson 分布式锁 - RLock、RReadWriteLock、RSemaphore、RCountDownLatch(配置、使用、原理)

目录 前言 Redisson 分布式锁 环境配置 1&#xff09;版本说明 2&#xff09;依赖如下 3&#xff09;配置文件如下 4&#xff09;项目配置 RLock 1&#xff09;使用方式 2&#xff09;加锁解释 3&#xff09;加锁时手动设置时间 4&#xff09;加锁时&#xff0c;到…

DALL-E 2详细介绍

DALL-E 2是由美国人工智能研究公司OpenAI推出的一款文本生成图像系统&#xff0c;它是DALL-E的后续版本&#xff0c;具有更强大的功能和更高的图像质量。以下是关于DALL-E 2的详细解释&#xff1a; 一、主要功能特点 文本到图像生成&#xff1a;DALL-E 2能够根据用户提供的文…

揭秘FL Studio21.2.8中文版一键解锁音乐创作新境界!

在音乐制作的广阔天地里&#xff0c;随着技术的不断进步和数字音频工作站&#xff08;DAW&#xff09;软件的普及&#xff0c;越来越多的音乐爱好者和专业制作人开始涉足音乐创作的奇妙旅程。其中&#xff0c;FL Studio以其强大的功能、直观的操作界面和丰富的音色资源&#xf…