k8s_Pod健康检查

Kubernetes 3种探针介绍

  1. LivenessProbe(存活探针)
    LivenessProbe 用于检查容器是否仍然活着。如果探针检测到容器已经失去响应,Kubernetes 将重启该容器。这通常用来修复由于内部状态错误或死锁引起的程序失效问题。
    作用:检测容器是否处于“存活”状态,如果探针失败,则容器会被重启。
    使用场景:适合长时间运行的容器,当容器出现死锁或无法继续正常工作时,通过 LivenessProbe 可以自动恢复服务。

  2. ReadinessProbe(就绪探针)
    ReadinessProbe 用于检查容器是否已经准备好处理流量。如果探针检测失败,Kubernetes 会将Pod从服务的负载均衡中移除,避免将流量发送到不健康的Pod。
    作用:判断容器是否可以处理请求,确保只有当容器准备好时,它才会接收流量。
    使用场景:用于检测容器是否能够对外提供服务。例如,应用初始化需要加载配置文件或依赖服务时,可以通过 ReadinessProbe 来避免服务在容器准备好之前接收请求。

  3. StartupProbe(启动探针)
    StartupProbe 用于检测容器的启动状态。它专门用于检测启动时间较长的容器,确保容器在完成启动之前不会被 LivenessProbe 错误地判定为不健康。如果配置了 StartupProbe,它将代替 LivenessProbe 进行探测,直到探针成功。
    作用:判断容器是否已经完成启动,避免因启动时间较长导致容器过早被 LivenessProbe 重启。
    使用场景:适用于那些启动时间较长的应用,如大型数据库或复杂的微服务,它们可能需要更多的时间来初始化。

配置参数说明
initialDelaySeconds:容器启动后第一次执行健康检查的延迟时间。
periodSeconds:两次健康检查之间的间隔时间。
timeoutSeconds:健康检查的超时时间,如果超过这个时间没有收到响应,认为检查失败。
failureThreshold:连续失败多少次后认为容器不健康并执行重启操作。
successThreshold:连续成功多少次后认为容器恢复健康。

检测容器的健康状态方式

  1. exec 方式
    exec 方式通过在容器内执行命令来检测健康状态。如果命令的退出状态码为 0,则表示健康;否则表示不健康,Kubernetes 会重启容器。
livenessProbe:exec:command:- cat- /tmp/healthyinitialDelaySeconds: 5periodSeconds: 10# 在这个例子中,Kubernetes每10秒执行一次 cat /tmp/healthy 命令,如果 /tmp/healthy 文件存在且命令成功执行,容器就被认为是健康的。如果文件不存在或命令失败,Kubernetes 会重启容器。
  1. httpGet 方式
    httpGet 方式通过发送HTTP请求到容器内的特定端点,根据返回的HTTP状态码来判断容器是否健康。返回2xx或3xx的状态码表示健康,其他状态码表示不健康。
livenessProbe:httpGet:path: /healthzport: 8080httpHeaders:- name: Custom-Headervalue: AwesomeinitialDelaySeconds: 3periodSeconds: 5#在这个例子中,Kubernetes每5秒向容器的/healthz端点发送一个HTTP GET请求。如果返回的状态码是2xx或3xx,容器被认为是健康的。如果返回其他状态码,容器会被重启
  1. tcpSocket 方式
    tcpSocket 方式通过尝试连接容器的TCP端口来检测健康状态。如果连接成功,则表示容器健康,否则容器将被重启。
livenessProbe:tcpSocket:port: 8080initialDelaySeconds: 10periodSeconds: 20
# 在这个例子中,Kubernetes每20秒尝试连接容器的8080端口。如果连接成功,容器被认为是健康的;如果连接失败,容器将被重启

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

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

相关文章

常见的音视频格式介绍

目录 aac格式介绍(ADTS)h264格式分析FLV和MP4格式介绍 aac格式介绍(ADTS) aac的格式有两种:ADIF不常用,ADTS是主流,所以这里主要讲解ADTS。简单来说,ADTS可以在任意帧解码&#xff…

校园表白墙源码修复版

此校园表白墙源码基于thinkphp,因为时代久远有不少bug,经本人修复已去除大部分bug,添加了美化元素。 https://pan.quark.cn/s/1f9b3564c84b https://pan.baidu.com/s/1bb9vu9VV2jJoo9-GF6W3xw?pwd7293 https://caiyun.139.com/m/i?2hoTc…

多款云存储平台存在安全漏洞,影响超2200万用户

据苏黎世联邦理工学院研究人员Jonas Hofmann和Kien Tuong Turong的发现,端到端加密(E2EE)云存储平台存在一系列安全问题,可能会使用户数据暴露给恶意行为者。在通过密码学分析后,研究人员揭示了Sync、pCloud、Icedrive…

三维管线管网建模工具MagicPipe3D V3.5.3

经纬管网建模系统MagicPipe3D,本地离线参数化构建地下管网三维模型(包括管道、接头、附属设施等),输出标准3DTiles、Obj模型等格式,支持Cesium、Unreal、Unity、Osg等引擎加载进行三维可视化、语义查询、专题分析&…

【Android】MVP架构

MVP架构简介 MVP(Model-View-Presenter)是一种常见的软件架构模式,尤其在Android应用开发中被广泛使用。它将应用程序分为三层:Model、View 和 Presenter,以实现职责分离,提高代码的可维护性和可测试性。 …

基于自适应VSG控制的光伏混合储能构网型逆变系统MATLAB仿真模型

模型简介 此模型源侧部分采用光伏发电系统与混合储能系统(蓄电池超级电容),并网逆变器采用虚拟同步发电机(VSG)控制,为系统提供惯量阻尼支撑。同时对VSG控制部分进行了改进,采用构造函数法对虚…

论文阅读(二十九):Multi-scale Interactive Network for Salient Object Detection

文章目录 Abstract1.Introduction2.Scale VariationProposed Method3.1Network Overview3.2Aggregate Interaction Module3.3 Self-Interaction Module3.4Consistency-Enhanced Loss 4.Experiments4.1Implementation Details4.2 Comparison with State-of-the-arts4.3Ablation …

【力扣】[Java版] 刷题笔记-21. 合并两个有序链表

题目: 21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 解题思路 从题目和示例可以看出,应该是要循环遍历链表进行比较,然后组成新的链表。 第一种:递归…

存储过程(SQL)

1.存储过程 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 2.MySQL存储过程创建…

PostgreSQL的前世今生

PostgreSQL的起源可以追溯到1977年的加州大学伯克利分校(UC Berkeley)的Ingres项目。该项目由著名的数据库科学家Michael Stonebraker领导,他是2015年图灵奖的获得者。以下是PostgreSQL起源的详细概述: 一、早期发展 Ingres项目…

LabVIEW换流变换器智能巡检系统

基于LabVIEW的换流变换器智能巡检系统通过自动化检测和数据分析,提高换流变换器的运行效率和可靠性,降低人工维护成本。 项目背景: 换流变压器作为电力系统的重要组成部分,其性能的可靠性直接影响到整个电网的稳定运行。然而&…

完美解决phpstudy安装后mysql无法启动

phpstudy数据库无法启动有以下几个原因。 一、自己在电脑上安装了MySQL数据库,MySQL的服务名为MySQL,这会与phpstudy的数据库的服务名发生冲突,从而造成phpstudy中的数据库无法启动,这时我们只需要将自己安装的MySQL的服务名改掉就行。 但是&#xff0…

软件测试的重要一环:「性能测试」怎么做?

性能测试是软件测试中的重要一环,今天给大家介绍性能测试及如何使用RunnerGo完成性能测试任务。 性能测试是什么? 一句话概括:不断地通过不同场景的系统表现去探究系统设计与资源消耗之间的平衡,为开发人员提供消除瓶颈所需的诊…

Ajax:表单 模板引擎

Ajax&#xff1a;表单 & 模板引擎 form 表单form 属性 Ajax操控表单事件监听阻止默认行为收集表单数据 模板引擎art-template{{}}语法原文输出条件输出循环输出过滤器 原理 form 表单 在HTML中&#xff0c;可以通过<form>创建一个表单&#xff0c;收集用户信息。而采…

基于docker 部署redis

1、拉取镜像 docker pull redis:latest如果拉取失败可以尝试下配置镜像源&#xff0c;具体参考如下&#xff0c;目前暂可以使用 Docker切换镜像源-CSDN博客 2、创建配置文件 mkdir /usr/local/redis/conf vim redis.conf bind 0.0.0.0#protected-mode no port 6379 tcp-b…

Fast Simulation of Mass-Spring Systems in Rust 论文阅读

参考资料&#xff1a; Fast Simulation of Mass-Spring Systems in Rust 论文阅读&#xff1a;Fast Simulation of Mass-Spring Systems 【论文精读】讲解刘天添2013年的fast simulation of mass spring system(Projective Dynamics最早的论文) Projective Dynamics笔记(一…

面试经典 150 题 第三周代码

【题目链接】 80. 删除有序数组中的重复项 II 【参考代码】 双指针 class Solution { public:int removeDuplicates(vector<int>& nums) {int size nums.size();if(size < 2){return size;}int slow 2, fast 2;while(fast < size){if(nums[slow-2] ! num…

【C++数学 负进制】1017. 负二进制转换|1697

本文涉及知识点 数学 LeetCode1017. 负二进制转换 给你一个整数 n &#xff0c;以二进制字符串的形式返回该整数的 负二进制&#xff08;base -2&#xff09;表示。 注意&#xff0c;除非字符串就是 “0”&#xff0c;否则返回的字符串中不能含有前导零。 示例 1&#xff1a…

可训练的YOLO距离检测

由于很多场景需要测距&#xff0c;而深度图、点云等获取、配准、融合困难&#xff0c;尝试直接在目标增加距离标注进行训练&#xff0c;理论上标注准确&#xff0c;数据集够&#xff0c;就可以实现。 目前已经跑通YOLO增加距离训练&#xff1a; 目前准度不够&#xff0c;仅将…

Flutter Image和Text图文组件实战案例

In this section, we’ll go through the process of building a user interface that showcases a product using the Text and Image widgets. We’ll follow Flutter’s best practices to ensure a clean and effective UI structure. 在本节中&#xff0c;我们将使用“Te…