k8s保持pod健康

存活探针

Kubemetes 可以通过存活探针 (liveness probe) 检查容器是否还在运行。可以为 pod 中的每个容器单独指定存活探针。如果探测失败,Kubemetes 将定期执行探针并重新启动容器。
Kubemetes 有以下三种探测容器的机制:

  • HTTP GET 探针对容器的 IP 地址(用户指定的端口和路径)执行 HTTP GET 请求。
    如果探测器收到响应,并且响应状态码不代表错误(如果 HTTP 响应状态码是2xx或3xx), 则认为探测成功。
    如果服务器返回错误响应状态码或者根本没有响应,那么探测就被认为是失败的,容器将被重新启动。
    在这里插入图片描述
  • TCP 套接字探针尝试与容器指定端口建立TCP连接。如果连接成功建立,则探测成功。否则,容器重新启动。
  • Exec 探针在容器内执行任意命令,并检查命令的退出状态码。如果状态码是 0, 则探测成功。所有其他状态码都被认为失败。
    在这里插入图片描述
    在这里插入图片描述
    RESTARTS 列显示 pod 的容器已被重启一次,可以通过查看kubectl describe的内容来了解为什么必须重启容器。
    可以看到容器现在正在运行,但之前由于错误而终止。
    退出代码为137, 这有特殊的含义:表示该进程由外部信号终止。数字137是两个数字的总和:
    128+x, 其中x是终止进程的信号编号。在这个例子中,x等于9, 这是 SIGKILL 的信号编号,意味着这个进程被强行终止。

在底部列出的事件显示了容器为什么终止:Kubemetes发现容器不健康,所以终止并重新创建。
当容器被强行终止时,会创建一个全新的容器,而不是重启原来的容器。
kubectl describe 还显示关于存活探针的附加信息:
在这里插入图片描述

  • delay=0s 表示在容器启动后立即开始探测。
  • timeout=1s 表示容器必须在1秒内进行响应,否则这次探测记作失败。
  • period=10s 表示每10秒探测一次容器。
  • failure=3 表示在探测连续三次失败后重启容器。
    定义探针时可以自定义这些附加参数, 比如设置初始延迟。

如果没有设置初始延迟,探针将在启动时立即开始探测容器, 这通常会导致探测失败,因为应用程序还没准备好开始接收请求。如果失败次数超过阈值,在应用程序能正确响应请求之前, 容器就会重启。

总结

Kubernetes 会在容器崩溃或其存活探针失败时,通过重启容器来保持运行,由承载 pod 的节点上的 Kubelet 执行,在主服务器上运行的 Control Plane 组件不会参与此过程。

如果节点本身崩溃,那么 Control Plane 必须为所有随节点停止运行的 pod 创建新的 pod。它不会为你直接创建的 pod 执行此操作,这些 pod 只被 Kubelet 管理,但由于 Kubelet 本身运行在节点上,所以如果节点异常终止,它将无法执行任何操作。

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

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

相关文章

java学习记录最后一篇

面向对象编程 封装 该露的露,该藏的藏 我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据细节由自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。 封装(数据的隐藏&#xff0…

AI部署指南

部署指南 建议大家尽可能的自己去部署,如果实在懒得搞,可以找我来帮你部署,详情参考 服务器代部署说明。 由于时间仓促,文档可能尚未详尽,我将在后续逐步补充详细的说明文档。 架构草图 项目依赖 必选依赖 MySQ…

5月3日江苏某厂冷却塔清洗工作汇报-智渍洁

5月3日 施工人员:张能超,张伟,刘平,曾巧 施工事项:空冷器脱脂 今日工作进度,清洗6台遇到的问题,就是那个喷雾器不经用,一会儿又坏了 重庆智渍洁环保科技有限公司专注于工业清洗&…

记录创建项目java version 没有8的问题

问题: 解决方案 java版本选择21(21可以兼容jdk8) SpringBoot选择3.2.5 进入项目后手动在pom.xml中修改版本

安卓手机原生运行 ARM Ubuntu 24.04 桌面版(一)

本篇文章,聊一聊尝试让安卓手机原生运行 Ubuntu,尤其是运行官方未发布过的 ARM 架构的 Ubuntu 24.04 桌面版本。 写在前面 最近的几篇文章,都包含了比较多的实操内容、需要反复的复现验证,以及大量的调试过程,为了不…

Sy9-dhcp/dns服务配置

前言、 课程需要(进入服务器综合配置使用阶段了),这里还是沿用桌面版的ubuntu来配置dhcp和dns,这里updated了新的版本。2024.5 server端环境: Win11VMS:192.168.105.1192.168.105.128 (ubuntu…

vivado UltraScale 比特流设置

下表所示 UltraScale ™ 器件的器件配置设置可搭配 set_property <Setting> <Value> [current_design] Vivado 工具 Tcl 命令一起使用。

第08章 IP分类编址和无分类编址

8.1 本章目标 了解IP地址的用途和种类了解分类编址和无分类编址区别掌握IP地址、子网掩码、网关概念及使用掌握子网划分及超网划分方法掌握无分类编址的改变和使用 8.2 IP地址的用途和种类 分类编址&#xff1a;造成地址的浪费&#xff0c;以及地址不够用&#xff1b;无分类编…

寒武纪及瑞芯微平台调用加速调研

文章目录 1 寒武纪加速平台简介1.1 加速平台简介1.1.1 算力硬件1.1.2 配套软件 1.2 部署流程简介1.3 部署环境搭建1.3.1 安装驱动1.3.2 安装CNToolKit1.3.3 配置模型移植开发环境 1.4 模型部署1.4.1 模型转换旧文件格式1.4.2 量化模型生成1.4.3 验证结果1.4.4 离线模型生成 1 寒…

【自用】了解移动存储卡的基本信息

前言 本文是看B站视频做的一个简单笔记&#xff0c;方便日后自己快速回顾&#xff0c;内容主要介绍了存储卡基本参数&#xff0c;了解卡面上的数字、图标代表的含义。对于日后如何挑选判断一张存储卡的好坏、判别一张存储卡是否合格有一定帮助。 视频参考链接&#xff1a;【硬…

【StarRocks系列】 Trino 方言支持

我们在之前的文章中&#xff0c;介绍了 Doris 官方提供的两种方言转换工具&#xff0c;分别是 sql convertor 和方言 plugin。StarRocks 目前同样也提供了类似的方言转换功能。本文我们就一起来看一下这个功能的实现与 Doris 相比有何不同。 一、Trino 方言验证 我们可以通过…

HTTP、RTSP、RTMP、RTP,RTCP,HLS,MMS的概念、区别、用法

背景知识 先有TCP/IP协议簇 5层模型&#xff0c;后有DoD 4层模型&#xff0c;再有OSI 7层模型。 TCP/IP协议簇&#xff08;TCP/IP Suite&#xff09;除了代表TCP与IP这两种通讯协议外&#xff0c;更包含了与TCP/IP相关的数十种通讯协议&#xff0c;例如&#xff1a;SMTP、DNS、…

使用docker-compose编排Lnmp(dockerfile) 完成Wordpress

目录 一、 Docker-Compose 1.1Docker-Compose介绍 1.2环境准备 1.2.1准备容器目录及相关文件 1.2.2关闭防火墙关闭防护 1.2.3下载centos:7镜像 1.3Docker-Compose 编排nginx 1.3.1切换工作目录 1.3.2编写 Dockerfile 文件 1.3.3修改nginx.conf配置文件 1.4Docker-Co…

SpringBoot+Vue+Element-UI实现学生综合成绩测评系统

前言介绍 学生成绩是高校人才培养计划的重要组成部分&#xff0c;是实现人才培养目标、培养学生科研能力与创新思维、检验学生综合素质与实践能力的重要手段与综合性实践教学环节。而学生所在学院多采用半手工管理学生成绩的方式&#xff0c;所以有必要开发学生综合成绩测评系…

机器学习——2.损失函数loss

基本概念 损失函数也叫代价函数。损失函数就是计算预测结果和实际结果差距的函数&#xff0c;机器学习的过程就是试图将损失函数的值降到最小。 图左&#xff1a;&#xff5c;t_p - t_c&#xff5c; 图右&#xff1a;&#xff08;t_p - t_c&#xff09;**2 代码实…

图像分割入门-Unet++理论与实践

探索 U-net&#xff1a;改进的图像分割神经网络 引言 图像分割是计算机视觉领域中的重要任务&#xff0c;旨在将图像中的每个像素分配到特定的类别或区域。在许多应用中&#xff0c;如医学影像分析、自动驾驶和地块识别等领域&#xff0c;图像分割都扮演着关键角色。 U-net …

echars设置渐变颜色的方法

在我们日常的开发中&#xff0c;难免会遇到有需求&#xff0c;需要使用echars设置渐变的图表&#xff0c;如果我们需要设置给图表设置渐变颜色的话&#xff0c;我们只需要在 series 配置项中 添加相应的属性配置项即可。 方式一&#xff1a;colorStops type&#xff1a;‘lin…

基于EWT联合SVD去噪

一、代码原理 &#xff08;1&#xff09;基于EWT-SVD的信号去噪算法原理 经验小波变换&#xff08;Empirical Wavelet Transform&#xff0c;EWT&#xff09;&#xff1a;EWT是一种基于信号局部特征的小波变换方法&#xff0c;能够更好地适应非线性和非平稳信号的特性。奇异值…

Maria DB 安装(含客户端),看这一篇就够了

文章目录 一 安装前准备1 版本与Win平台对应2 推荐安装 二 安装步骤1 安装主体程序2 添加系统路径Path 三 客户端 一 安装前准备 1 版本与Win平台对应 版本对应关系可参考&#xff1a; https://www.codebye.com/mariadb-deprecated-package-platforms.html。 2 推荐安装 经…

【driver1】内核模块,设备号,字符驱动

文章目录 1.内核模块&#xff1a;必须包含module.h2.内核模块参数&#xff1a;权限位S_IRUGO是用在sysfs文件系统里2.1 extern&#xff1a;声明来自另一个模块 3.设备号&#xff1a;主设备号对应驱动程序&#xff0c;具有相同主设备号设备使用相同驱动程序&#xff0c;次设备号…