【k8s的三种探针】

一、探针类型

作用:容器内应用的监测机制,根据不同的探针来判断容器应用当前的状态。

 k8s 有三种类型的探针:StartupProbe(启动探针)、LivenessProbe(存活探针)、ReadinessProbe(就绪探针)。它们可以同时存在,但如果有StartupProbe就会先执行该探针。

探针的基本参数配置:

...
spec: # 期望 Pod 按照这里面的描述进行创建containers: # 对于 Pod 中的容器描述...livenessProbe: # 探针类型initialDelaySeconds: 60 # 初始化时间;n 秒后才会执行探针httpGet: # 探测方式path: /api/startupport: 80timeoutSeconds: 2 # 超时时间periodSeconds: 5 # 监测间隔时间successThreshold: 1 # 检查 n 次成功就表示成功failureThreshold: 2 # 监测失败 n 次就表示失败readinessProbe: # 其他探针initialDelaySeconds: 60...

1、StartupProbe(探测成功后启用其他探针)

 k8s 1.16 版本新增的探针,用于判断应用程序是否已经启动了。该探针只会在启动的时候成功的运行一次

当配置了 startupProbe 后,会先禁用其他探针,直到 startupProbe 成功后,其他探针才会继续。防止 LivenessProbe 无限重启应用。另外容器没有真正启用之前,ReadinessProbe 也没必要去检测。

**作用:**由于有时候不能准确预估应用一定是多长时间启动成功,因此配置另外两种方式不方便配置初始化时长来检测;而配置了 statupProbe 后,只有在容器启动成功了,才会执行另外两种探针。

startupProbe:httpGet:path: /api/startupport: 80...

2、LivenessProbe(探测失败后重启)

 用于定期探测容器中的应用是否运行,如果探测失败,kubelet 会根据配置的重启策略进行重启;若没有配置,默认就认为容器启动成功,不会执行重启策略。

livenessProbe:httpGet:path: /healthport: 8080scheme: HTTPinitialDelaySeconds: 60periodSeconds: 10successThreshold: 1timeoutSeconds: 5failureThreshold: 3

 如果超时时间为5秒,而实际启功时间为6秒。LivenessProbe 会在5秒时就判断失败,然后去重启应用,之后会一直重复此判断并重启。为了防止这种情况的出现,需要配合使用 StartupProbe 。

3、ReadinessProbe(探测成功后开放外部访问)

 用于定期探测容器内的程序是否就绪,它的返回值如果返回 success,那么就认为该容器已经完全启动,并且该容器是可以接收外部流量的。

readinessProbe:httpGet:path: /readyport: 8181scheme: HTTPperiodSeconds: 10successThreshold: 1timeoutSeconds: 1failureThreshold: 3

二、探测方式

1、ExecAction(命令)

 命令方式探测:在容器内部执行一个命令,如果返回值为 0,则任务容器时健康的。

livenessProbe:exec:command:\- cat\- /health

2、TCPSocketAction(端口)

 TCP访问端口方式探测:通过 tcp 连接监测容器内端口是否开放,如果开放则证明该容器健康。

livenessProbe:tcpSocket:port: 80

3、HTTPGetAction(get请求)

 HTTP请求方式探测:生产环境用的较多的方式,发送 HTTP 请求到容器内的应用程序,如果接口返回的状态码在 200~400 之间,则认为容器健康。

livenessProbe:failureThreshold: 5httpGet:path: /healthport: 8080scheme: HTTPhttpHeaders:\- name: xxxvalue: xxx

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

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

相关文章

shell(一)

shell 既是脚本语言又是应用程序 查看自己linux系统的默认解析:echo $SHELL 创建第一个shell 文件 touch 01.sh编辑 vi 01.sh01.sh 文件内容 #!/bin/bash echo felicia保存 按Esc 然后输入:wq 定义以开头:#!/bin/bash #!用来声明脚本由什么shell解释…

idea maven 执行 控制台乱码

这是没加出现的问题 上方案

【HTTP系列】TCP/IP协议

文章目录 一、是什么二、划分五层体系应用层传输层网络层数据链路层物理层 四层体系 三、总结参考文献 一、是什么 TCP/IP,传输控制协议/网际协议,是指能够在多个不同网络间实现信息传输的协议簇 TCP(传输控制协议) 一种面向连…

【YOLOv5/v7改进系列】替换上采样层为Dysample

一、导言 介绍了一种名为DySample的超轻量级且高效的动态上采样器。DySample旨在解决当前动态上采样技术如CARAFE、FADE和SAPA虽然性能提升显著但带来大量计算负担的问题,这些问题主要来源于动态卷积的时间消耗以及用于生成动态核的额外子网络。此外,FA…

STC90C51驱动LCD1602、LCD12864、OLED

主控芯片(STC90C516RDPG5151028)介绍 ROM64K,RAM1280字节,40Pin,3个定时器,1个串口,8个中断源(分别是:外部中断0(INTO)、外部中断 1(INT1)、外部中断 2(INT2)、外部中断 3(INT3)、定…

系统化自学Python的实用指南

目录 一、理解Python与设定目标 二、搭建学习环境与基础准备 三、入门学习阶段 四、中级进阶阶段 五、项目实践与持续深化 六、持续学习与拓展 一、理解Python与设定目标 Python概述:详细介绍Python的历史沿革、设计理念、主要特点(如易读、易维护…

pytest构建和测试FastAPI CURD API

文章目录 概述目标FASTAPI 介绍CRUD API 项目设置freezepipreqs 代码介绍run APIpytest测试F&Q1.执行uvicorn app.main:app --host localhost --port 8000 --reload 报错 zsh: /usr/local/bin/uvicorn: bad interpreter2.生成requirement.txt时,pip3 list pipre…

C语言printf( ) 函数有哪些参数?

一、问题 printf( ) 函数的作⽤是向终端输出若⼲个任意类型的数据,此函数由格式控制部分和输出表列两部分组成,格式控制部分⼜由“%”和格式字符串组成,那么,此函数格式字符串部分有哪些参数呢? 二、解答 …

Frida 学习之 messages

目录 一、消息发送 二、环境准备 三、从目标进程中发消息 四、在目标进程中接收消息 五、在目标进程中以阻塞方式接收消息 官方链接:Messages | Frida • A world-class dynamic instrumentation toolkit 参考链接:Frida官方手册 - 消息发送_frida…

Git操作--如何将本地文件夹push到远程新建的仓库中

一、从命令行创建一个新的仓库 1、创建一个说明文件 touch README.md 2、首先使该目录成为git可以管理的目录 git init 3、添加所有文件到本地暂存区 git add . #(不要忘了后面的点".",表示所有文件及目录) # git add README…

v-model的工作原理是什么

v-model在Vue.js中是一个非常重要的指令,它实现了表单输入与应用状态(data)之间的双向绑定。以下是v-model的工作原理,我会尽量以清晰的方式分点表示和归纳: 本质: v-model本质上是一个语法糖&#xff0c…

C语言 RTC时间(年月日时分秒) 和 时间戳 互相转换

一、介绍 在C语言中,将年月日时分秒转换为时间戳(Unix时间戳,即从1970年1月1日00:00:00 UTC到现在的秒数)通常需要使用struct tm结构体和timegm或mktime函数。(注意,mktime函数假设struct tm是本地时间&…

Python语法详解module4(函数)

目录 一、函数基础1. 函数的概念和作用2. 函数的定义和调用3. 参数传递 二、返回值和文档字符串返回值的概念和用法1. 返回值的概念2. 使用 return 关键字返回值:3. 多个返回值的情况: 文档字符串(docstring)的作用和使用方法1. 文…

力扣1610.可见点的最大数目

力扣1610.可见点的最大数目 把所有极角算出来 atan2(x,y)函数 返回值为弧度(带π) 存入数组并排序 断链成环 再开n个空间 d[ni] d[i] 2*π 在极角数组中找到一段极差<k的最大数目的区间(滑窗) class Solution {vector<double> d;double k;public:int visibleP…

大坝安全监测自动化技术的规范化设计准则

大坝安全监测自动化技术的规范化设计准则 一、施工阶段自动化系统设计要点 在施工阶段&#xff0c;大坝安全监测自动化系统的设计应当涵盖以下几个核心内容&#xff1a; 监测仪器的布局规划及详细的施工图纸设计。 配套土建项目以及防雷设施的施工设计规划。 明确施工过程中的技…

Jenkins工作流程原理

持续集成&#xff1a;自动部署打包发布代码 Jenkins工作流程 项目已经基于Jenkins实现了持续集成&#xff0c;每当我们push代码时&#xff0c;就会触发项目完成自动编译和打包。而需要运行某个微服务时&#xff0c;我们只需要经过两步&#xff1a; 第一步&#xff0c;访问je…

win10下,python3.7安装xlrd和xlwt

win10下&#xff0c;执行import xlwt&#xff0c;结果报错 No module named xlwt。 原因&#xff1a;使用的python没有安装xlwt包。 解决方法&#xff1a; 1&#xff09;打开一个命令窗口&#xff0c;执行&#xff1a;where python&#xff0c;可以看到使用的python路径及版…

2024年SQL Editor趋势

SQL Editor已经超越了仅仅执行查询的传统角色&#xff0c;成为提升生产力、协作和数据管理的综合平台。这一演变反映了QA软件测试人员和开发人员日益增长的需求和复杂需求。让我们深入探讨当前的趋势&#xff0c;强调这些变化如何满足用户的基本需求。 1.增强的协作功能 现代S…

Go 优雅处理goroutines错误

在Go语言中&#xff0c;goroutines是轻量级的线程&#xff0c;它们在后台运行&#xff0c;可以并发执行任务。优雅地处理goroutines中的错误是确保程序稳定性和可维护性的关键。 使用Channel返回错误 Go中goroutines通常通过channel来通信。你可以创建一个额外的channel来发送…

Questflow借助MongoDB Atlas以AI重新定义未来工作方式

MongoDB客户案例导读 Questflow借助MongoDB Atlas赋能AI员工&#xff0c;助力中小型初创企业自动化工作流程&#xff0c;简化数据分析&#xff0c;提升客户体验&#xff0c;推动AI与员工的协作&#xff0c;重新定义未来工作方式。 协作式AI自动化平台 无需编码即可拥有自己的…