【K8s】专题六(2):Kubernetes 稳定性之健康检查

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!

公众号二维码


目录

一、基本介绍

二、工作原理

三、探针类型

1、存活探针(LivenessProbe)

2、就绪探针(ReadinessProbe)

3、启动探针(StartupProbe)

四、探测方式

1、EXEC 命令探测(ExecAction)

2、TCP 连接探测(TCPSocketAction)

3、HTTP 请求探测(HTTPGetAction)

五、资源清单(示例)


一、基本介绍

在 Kubernetes 中,健康检查是集群通过探针(Probe)定期检查容器是否健康运行,并自动维持容器健康运行的一种机制。

健康检查可以保障容器内应用程序的稳定性和可用性,并控制应用程序何时可以提供对外访问。


二、工作原理
  • 定义探针:用户在 Pod 中定义探针配置,包括探针类型、探测方式、探测间隔和阈值
  • 触发探针:Kubernetes 会根据定义的探针配置,定期触发健康检查
  • 执行探针:Kubernetes 会根据定义的探针配置,在容器中执行 EXEC 命令、建立 TCP 连接或发送 HTTP Get 请求
  • 结果处理:探针执行成功则等待下一次探测,探针执行失败则根据既定规则对容器进行处理


三、探针类型
1、存活探针(LivenessProbe)

LivenessProbe 用于判断容器是否存活,即是否处于 Running 状态。如果 LivenessProbe 检测到容器不健康,Kubernetes 会认为容器内应用程序已经崩溃或挂起,会通过 Kubelet 对该容器进行 Kill 和重启处理。

2、就绪探针(ReadinessProbe)

ReadinessProbe 用于判断容器是否可用,即是否处于 Ready 状态。如果 Pod 中的全部容器都达到 Ready 状态,Pod 才可以接收和处理请求,否则 Kubernetes 会认为容器内应用程序启动异常,会通过 Kubelet 对该容器进行 Kill 和重启处理。

3、启动探针(StartupProbe)

某些应用程序启动非常慢,如果只配置 LivenessProbe 或 ReadinessProbe,很可能出现应用程序还没有完成启动,对应的容器就被 Kill 掉无限重启的情况。

配置有 StartupProbe 的 Pod,在应用程序没有成功启动之前,LivenessProbe 和 ReadinessProbe 均不生效,不会重启容器。


四、探测方式
1、EXEC 命令探测(ExecAction)

尝试在容器内执行一个 EXEC 命令,返回码为 0 表明容器健康。

2、TCP 连接探测(TCPSocketAction)

尝试与容器的指定端口建立 TCP 连接,如果能够建立表明容器健康。

3、HTTP 请求探测(HTTPGetAction)

尝试对容器的指定接口发送 HTTP Get 请求,如果响应码大于等于 200 且小于 400 表明容器健康。


五、资源清单(示例)
apiVersion: apps/v1
kind: Deployment
metadata:nanme: demo-deployment
spec:
...spec:containers:- name: demo-container
...startupProbe / livenessProbe / readinessProbe:exec:                              # EXEC 命令探测方式command: ["cat", "/health.txt"]或tcpSocket:                         # TCP 连接探测方式port: 80或httpGet:                           # HTTP 请求探测方式path: /healthport: 80initialDelaySeconds: 5             # 首次探测前等待时间periodSeconds: 10                  # 探测间隔时间timeoutSeconds: 1                  # 探测超时时间successThreshold: 1                # 探测成功阈值failureThreshold: 3                # 探测失败阈值

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

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

相关文章

docker入门配置

1、创建配置镜像 由于国内docker连接外网速度慢,采用代理 vi /etc/docker/daemon.json添加以下内容 {"registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com","https://dockerproxy.com","https://hub-mirror.c.163.co…

SOA和ESB介绍

SOA(面向服务的架构) 面向服务的架构(Service-Oriented Architecture,SOA)是一种设计理念,用于构建松耦合的、可互操作的、模块化的服务。在SOA架构中,应用程序被划分为一系列的服务&#xff0c…

电脑屏幕花屏怎么办?5个方法解决问题!

“我刚刚打开电脑就发现我的电脑屏幕出现了花屏的情况。这让我很困惑,我应该怎么解决这个问题呢?求帮助。” 在这个数字时代的浪潮中,电脑早已成为我们生活中不可或缺的一部分。然而,当你正沉浸在紧张的游戏对战中,或是…

谷歌上搞下来的,无需付费,可以收藏!

在数字化时代,我们越来越依赖于智能设备来获取信息和知识。中国智谋App正是这样一款应用,它将中国古代的智慧与谋略书籍带入了我们的移动设备,让我们能够随时随地学习和领悟。而且提供文言文的原文和译文。 软件下载方式:谷歌上搞…

39.右键弹出菜单管理游戏列表

上一个内容:38.控制功能实现 以 ​​​​​​​ 38.控制功能实现 它的代码为基础进行修改 效果图: 点击设置之后的样子 点击删除 点击删除之后的样子 实现步骤: 首先添加一个菜单资源,右击项目资源选择下图红框 然后选择Menu 然…

【C语言】字符/字符串+内存函数

目录 Ⅰ、字符函数和字符串函数 1 .strlen 2.strcpy 3.strcat 4.strcmp 5.strncpy 6.strncat 7.strncmp 8.strstr 9.strtok 10.strerror 11.字符函数 12. 字符转换函数 Ⅱ、内存函数 1 .memcpy 2.memmove 3.memcmp Ⅰ、字符函数和字符串函数 1 .strlen 函数原型:…

《计算机英语》 Unit 6 Internet 互联网

Section A Internet 互联网 The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite (TCP/IP) to link several billion devices worldwide. 互联网是一个全球性的互连计算机网络系统,使用标准的互联…

苹果CMS-V10 搭建教程踩坑,跳过部分验证

我突发奇想,想要安装一个CMS 苹果CMS搭建教程-CSDN博客 然后就有了下面的问题 结论是zip相关依赖未安装, 通过 apt install php-zip, 重新打开安装页面,同样如此 最后依据某个网站提示,修改 "\\192.168.1.200\root\var\www\html\maccms\application\install\control…

多家国产大模型提供OpenAI API服务替代方案,谷歌将推出明星网红AI聊天机器人

ChatGPT狂飙160天,世界已经不是之前的样子。 更多资源欢迎关注 1、OpenAI终止对中国提供服务 6月25日凌晨,多个用户收到OpenAI的推送邮件,信中称,自今年7月9日起,将开始阻止来自非支持国家和地区的API(应…

3.任务的创建与删除

1.什么是任务? 任务可以理解为进程/线程,创建一个任务,就会在内存开辟一个空间。 任务通常都含有while(1)死循环 2.任务创建与删除相关的函数 3.CUBEMAX相关配置 编辑一个led1闪烁的任务

小程序使用echarts和echarts配置项总结(全网最简单详细)

文章目录 概要小程序中使用echarts1. ec-canvas2. 下载项目3. 去echarts官网定制:4.点击下载5.引入使用 echarts的option配置知识点归纳整理(还在更新):小结 概要 小程序中使用echarts(简单详细) 小程序中…

解密城市酷选为何异军突起!打造消费新潮流的排队免单模式

一、城市酷选平台简介 在数字化浪潮席卷全球的今天,城市酷选作为一个前沿的消费平台,凭借其独特的排队免单模式,成功吸引了众多消费者和商家的目光。该平台不仅整合了线上线下的资源,更通过数字化手段,为消费者提供了…

C3P0数据库连接池

目录 一:连接池介绍 1.1连接池解决的问题 2.常用的数据库连接池 二:c3p0介绍 2.1C3P0介绍: 2.2C3P0快速入门 1.常用参数说明 2.API介绍 3.使用步骤 1.导入jar包c3p0-0.9.1.2.jar 2.编写c3p0-config.xml配置文件,配置对…

node 实现导出, 在导出excel中包含图片(附件)

如果想查看 node mySql 实现数据的导入导出,以及导入批量插入的sql语句,连接如下 node mySql 实现数据的导入导出,以及导入批量插入的sql语句-CSDN博客https://blog.csdn.net/snows_l/article/details/139998373 一、效果如图: 二…

【Linux详解】进程的状态 | 运行 阻塞 挂起 | 僵尸和孤儿状态

目录 操作系统中 运行状态 阻塞状态 进程状态转换 Linux系统中 查看进程状态 深度睡眠状态 T 暂停状态 Z 僵尸状态 孤儿状态 文章手稿 xmind: 引言 介绍系统中的进程状态及其管理方式。将通过结合操作系统原理和实际代码示例,详细说明进程的各种状态、转换…

鸿蒙开发Ability Kit(程序框架服务):【FA模型切换Stage模型指导】 app和deviceConfig的切换

app和deviceConfig的切换 为了便于开发者维护应用级别的属性配置,Stage模型将config.json中的app和deviceConfig标签提取到了app.json5中进行配置,并对部分标签名称进行了修改,具体差异见下表。 表1 配置文件app标签差异对比 配置项FA模型…

Excel中的“点选输入”——次级下拉列表创建

在Excel中,用“数据验证”功能可以设置下拉列表,二级下拉列表需要设置公式。 (笔记模板由python脚本于2024年06月16日 18:36:37创建,本篇笔记适合经常使用Excel处理数据的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网:http…

后端之路第三站(Mybatis)——入门配置

一、Mybatis是啥? 就是一个用java来操控数据库的框架语言 之前学的datagrip或者navicat这些软件里我们操作数据库,原理是我们编写完的操作语句发送到服务器传送到数据库系统,然后数据库执行完之后再发送给服务器返回给datagrip或者navicat显…

GPT-5:AI的博士时代与我们的未来

目录 引言第一部分:GPT-5技术突破预测1. NLP技术的革新1.1 算法进步对理解力提升的影响1.2 技术突破推动行业发展 2. 行业推动力2.1 教育行业的变革2.2 医疗行业的创新2.3 法律行业的效率提升 第二部分:智能系统与人类的协作1. 辅助决策的角色1.1 决策支…

游戏AI的创造思路-技术基础-sigmoid函数详解

在前面的机器学习和深度学习的内容中,大量出现了sigmoid函数,所以本篇为大家介绍下sigmoid函数,希望对大家理解前面的算法和后面的Transformer有所帮助 目录 3.8. sigmoid函数 3.8.1. 定义 3.8.2. 性质 3.8.3. 应用 3.8.4. 缺点 3.8.5.…