k8s Pods漂移时间配置

默认为300秒

在这里插入图片描述

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-container
        image: nginx:latest
        ports:
          - containerPort: 80
      tolerations:
      - 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节点直接配置全局

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL之查询性能优化(四)

查询性能优化 MySQL客户端/服务器通信协议 一般来说,不需要去理解MySQL通信协议的内部实现细节,只需要大致理解通信协议是如何工作的。MySQL客户端和服务器之间的通信协议是"半双工"的,这意味着,在任何一个时刻&#…

History 模式和 Hash 模式路由的区别、优缺点及在开发生产环境中的注意事项

在现代单页应用(SPA)开发中,前端路由是至关重要的一部分。常见的路由模式有两种:History 模式和 Hash 模式。本文将详细探讨这两种模式的区别、优缺点,并在开发和生产环境中的注意事项。 路由模式简介 Hash 模式 H…

.Net 基于.Net8开发的一个Asp.Net Core Webapi后端框架

1.项目结构 该项目是基于.net8开发的Asp.Net Core WebApi后端服务,集成了Efcore,Autofac,Jwt,AutoMapper,Serilog,Quartz,MiniExcel等组件。该框架简单易上手,没有额外的学习成本; 该项目采用了多层结构设计,有利于解耦,包含公共层&#xff0…

机器视觉——硬件常用基础知识

光源 机器视觉中光源的作用 1)强化特征,弱化背景 2)光源打得好,图好了,后期算法更简化 3)图好了,测试速度更高 各种光源的综合性能对比及为啥使用LED灯 光的颜色的选择 白色光:通常用…

【分享】两种方法禁止修改Word文档

对于比较重要的Word文件,不想被随意编辑修改,可以试试以下两个方法,不清楚的小伙伴,一起来看看吧! 方法1:设置“只读方式” 我们可以给Word文档设置以“只读方式”打开,这样就算编辑修改了文档…

企业内部聊天软件Riot部署

ubuntu docker 简介 Riot(原Vector)是使用Matrix React SDK构建的Matrix网络聊天客户端,开源免费,功能丰富,支持私人对话,团队对话,语言视频对话,上传文件,社区互动。支持在聊天界面添加各种有趣的插件,比如RSS等各种机器人、虚拟币实时监控等。并且所有通过Riot传…

63. UE5 RPG 兼容没有武器的普通攻击

前面,我们实现了近战攻击技能,敌人通过AI靠近玩家,并且通过AI还能够触发近战攻击的释放。现在我们思考一个问题,如果敌人没有武器,攻击的手段是用的双手,我们该如何去获取它的攻击范围。 现在实现的一套是获…

什么情况!伯克希尔哈撒韦股票跌近100%

KlipC报道:当地时间6月3日开盘后,纽约证劵交易所的一个技术问题导致沃伦巴菲特(Warren Buffett)旗下伯克希尔哈撒韦公司(Berkshire Hathaway)A类股票似乎下跌了近100%,达到185.1美元/股。目前,所有受影响的股票已经恢复交易。 除了…

OLED_讲解

OLED(有机发光二极管 Organic Light-Emitting Diode)是一种显示技术,它使用有机化合物材料作为发光层,当通过电流时,这些材料会发光。OLED显示器由多个单独可控制的OLED像素组成,每个像素都能够发出红、绿、…

【异常分析:四分位距与3σ原则】

文章目录 前言四分位距(IQR)3σ原则使用步骤计算四分位距应用3σ原则 代码 前言 异常分析的目标是识别数据中的异常值,这些异常值可能是由于错误的记录、设备故障或者其他未知原因导致的。四分位距(interquartile range, IQR&…

目标检测数据集 - 海洋垃圾检测数据集下载「包含VOC、COCO、YOLO三种格式」

数据集介绍:海洋垃圾检测数据集,真实拍摄海洋海底场景高质量垃圾检测图片数据,涉及场景丰富,比如海底塑料垃圾数据、海底铁制品罐状垃圾数据、海底纸张垃圾数据、海洋生物和海底垃圾同框数据、海底探索仪器和海底垃圾同框数据、海…

前端localForage存储数据使用教程

前言 前端本地化存储算是一个老生常谈的话题了,我们对于 cookies、Web Storage(sessionStorage、localStorage)的使用已经非常熟悉,在面试与实际操作之中也会经常遇到相关的问题,但这些本地化存储的方式还存在一些缺陷…

iPhone录音的m4a格式音频文件怎么转成MP3格式?

在日常工作生活中,我们有时会用电脑或手机录音,比如iPhone录音的M4A格式音频,要上传至某些软件或者平台使用,但是有时这些平台或者软件对音频格式有要求,比如有的就只能上传mp3格式的文件。 这个时候我们就需要先将音频…

在Three.js中实现模型点击高亮:整合EffectComposer与OutlinePass的终极指南

效果【后期实现鼠标点击选中轮廓后给出一个弹窗显示相应的模型信息】 标签指示线参考我的上一篇文章 引言 Three.js不仅让WebGL的3D图形编程变得简单易懂,还通过其强大的扩展库支持丰富的后期处理效果,为3D场景增添无限魅力。本篇文章将引导您深入了…

客户案例|Zilliz Cloud 助力点石科技转型 AI 智能服务商

福建点石科技网络科技有限公司成立于2010年,是国家高新技术企业,阿里云、蚂蚁金服等大厂海内外生态合作伙伴ISV。在餐饮、零售、酒店、旅游、商圈的行业定制化服务化上有深厚积累,在境内外做了大量标杆性软件项目,如东南亚RWS圣淘…

详解智慧互联网医院系统源码:开发医院小程序教学

本篇文章,笔者将详细介绍智慧互联网医院系统的源码结构,并提供开发医院小程序的详细教学。 一、智慧互联网医院系统概述 智慧互联网医院系统涵盖了预约挂号、在线咨询、电子病历、药品管理等多个模块。 二、系统源码结构解析 智慧互联网医院系统的源码…

【软件测试】自动化测试如何管理测试数据

前言 在之前的自动化测试框架相关文章中,无论是接口自动化还是UI自动化,都谈及data模块和config模块,也就是测试数据和配置文件。 随着自动化用例的不断增加,需要维护的测试数据也会越来越多,维护成本越来越高&#…

MySQL Hints:控制查询优化器的选择

码到三十五 : 个人主页 MySQL Hints是优化数据库查询性能的一种强大工具。它们允许开发者在SQL查询中嵌入指令,以影响MySQL优化器的决策过程。在某些情况下,优化器可能无法选择最佳的查询执行计划,这时我们可以使用Hints来引导优化…

上位机图像处理和嵌入式模块部署(f407 mcu中的网络开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 和大家想的不太一样,只要mcu当中带有了mac ip,那么就意味着mcu本身支持了网络开发。但是如果需要mcu支持完整的tcp/ip&…

2024年信息素养大赛复赛时间已定,题库刷了吗?

刚刚,据全国青少年信息素养大赛华北赛区(北京)组委会发布公告,2024全国青少年信息素养大赛华北赛区(北京)将定于7月13日进行线下赛的复赛,7月20-21日进行线上赛(编程类)的…