当前位置: 首页 > news >正文

10-k8s中pod的探针

一、探针的概念

        一般时候,探针的设置,都是为了优化业务时,需要做的事情;属于后期工作;

1,探针的分类

1,健康状态检查探针:livenessProbe

        当我们设置了这个探针之后,检查不通过,pod容器就会重启,周期性检查服务是否存在;

        - 检查若失败,将“重启容器”,本质上就是删除原来的容器,重新创建;

        - 若不设置健康检查探针,默认就是成功的,检查成功;

2,可用性检查探针:readinessProbe

        当我们设置这个探针之后,检查不通过,pod容器不会重启,周期性检查服务是否可用,从而判断容器是否准备就绪;

        - 若检查服务不可用,就是检查失败,则会将pod从service的endppints列表中移除;

        - 若检查可用,则会将pod重新添加会secvice的endppints列表中;

        - 若不设置这个探针,则默认是检查成功状态;

3,启动探针:startupProbe

        从k8s的1.16版本之后才新加的功能,1.16版本之前没有这个探针;

        - 如果设置了这个探针,则其他所有探针都会被禁用,指导这个探针检查成功为止;

        - 如果检查失败,kubelet会杀死容器,而容器依照我们的重启策略进行重启;

        - 如果没有设置这个探针,默认是成功状态; 

2,探针使用的检查方法

1,命令检查:exec

        就是执行一段命令,根据返回的结果判断是否成功,返回0或者非0(类似shell中echo $?)

2,http请求检查:httpGet

        根据返回的状态码,判断是否正常;

3,端口检查:tcpSocket

        测试某个TCP端口是否能够链接,类似于telnet,nc等网络工具;

4,grpc:(了解即可)

二、livenessProbe健康检查探针

1,exec方式

[root@k8s231 pod]# cat 12-probe.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: mylinux-livenessprobe
spec:
  containers:
  - name: c1
    image: nginx:1.20.1-alpine
    #声明健康检查探针livenessProbe
    livenessProbe:
      #使用exec方式做检查;
      exec:
        #自定义检查命令
        command:
        - cat
        - /etc/hosts
      #检查失败几次算【不存活】,默认值是3,最小值是1,检查成功后,值会重置重1开始数;
      failureThreshold: 3
      #容器启动后多久开始进行健康检查,即此时间段内,检测到服务失败并不计数;默认1,最小值1
      initialDelaySeconds: 15
      #探针检测频率,多久检测一次,默认10(秒),最小值1(秒)
      periodSeconds: 1
      #检查成功几次算【存活】,默认1,最小值1
      successThreshold: 1
      #一次检查超时时间,默认1(秒),最小值1(秒)
      timeoutSeconds: 1

2,httpGet检查方式

[root@k8s231 pod]# cat 12-probe.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: mylinux-livenessprobe
spec:
  containers:
  - name: c1
    image: nginx:1.20.1-alpine
    #声明健康检查探针livenessProbe
    livenessProbe:
      #使用httpGet方式做检查;
      httpGet:
        #检查那个端口,通过哪个端口访问页面?
        port: 80
        #指定探测的页面路径
        path: /usr/share/nginx/html/index.html
      #检查失败几次算【不存活】,默认值是3,最小值是1,检查成功后,值会重置重1开始数;
      failureThreshold: 3
      #容器启动后多久开始进行健康检查,即此时间段内,检测到服务失败并不计数;默认1,最小值1
      initialDelaySeconds: 15
      #探针检测频率,多久检测一次,默认10(秒),最小值1(秒)
      periodSeconds: 1
      #检查成功几次算【存活】,默认1,最小值1
      successThreshold: 1
      #一次检查超时时间,默认1(秒),最小值1(秒)
      timeoutSeconds: 1

3,tcpSocket检测方式

[root@k8s231 pod]# cat 12-probe.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: mylinux-livenessprobe
spec:
  containers:
  - name: c1
    image: nginx:1.20.1-alpine
    #声明健康检查探针livenessProbe
    livenessProbe:
      #使用tcpSocket方式做检查;
      tcpSocket:
        #检查哪一个端口
        port: 80
      #检查失败几次算【不存活】,默认值是3,最小值是1,检查成功后,值会重置重1开始数;
      failureThreshold: 3
      #容器启动后多久开始进行健康检查,即此时间段内,检测到服务失败并不计数;默认1,最小值1
      initialDelaySeconds: 15
      #探针检测频率,多久检测一次,默认10(秒),最小值1(秒)
      periodSeconds: 1
      #检查成功几次算【存活】,默认1,最小值1
      successThreshold: 1
      #一次检查超时时间,默认1(秒),最小值1(秒)
      timeoutSeconds: 1

三、readinessProbe可用性检查

[root@k8s231 pod]# cat 12-probe.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: mylinux-livenessprobe
spec:
  containers:
  - name: c1
    image: nginx:1.20.1-alpine
    #声明健康检查探针readinessProbe
    readinessProbe:
      #使用tcpSocket方式做检查;
      tcpSocket:
        #检查哪一个端口
        port: 80
      #检查失败几次算【不存活】,默认值是3,最小值是1,检查成功后,值会重置重1开始数;
      failureThreshold: 3
      #容器启动后多久开始进行健康检查,即此时间段内,检测到服务失败并不计数;默认1,最小值1
      initialDelaySeconds: 15
      #探针检测频率,多久检测一次,默认10(秒),最小值1(秒)
      periodSeconds: 1
      #检查成功几次算【存活】,默认1,最小值1
      successThreshold: 1
      #一次检查超时时间,默认1(秒),最小值1(秒)
      timeoutSeconds: 1

四、startupProbe启动检查

[root@k8s231 pod]# cat 12-probe.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: mylinux-livenessprobe
spec:
  containers:
  - name: c1
    image: nginx:1.20.1-alpine
    #声明启动探针startupProbe
    startupProbe:
      #使用tcpSocket方式做检查;
      tcpSocket:
        #检查哪一个端口
        port: 80
      #检查失败几次算【不存活】,默认值是3,最小值是1,检查成功后,值会重置重1开始数;
      failureThreshold: 3
      #容器启动后多久开始进行健康检查,即此时间段内,检测到服务失败并不计数;默认1,最小值1
      initialDelaySeconds: 15
      #探针检测频率,多久检测一次,默认10(秒),最小值1(秒)
      periodSeconds: 1
      #检查成功几次算【存活】,默认1,最小值1
      successThreshold: 1
      #一次检查超时时间,默认1(秒),最小值1(秒)
      timeoutSeconds: 1

五、三个探针一起使用

[root@k8s231 pod]# cat 12-probe.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: mylinux-livenessprobe
spec:
  containers:
  - name: c1
    image: nginx:1.20.1-alpine
    #声明启动探针startupProbe
    startupProbe:
      tcpSocket:
        port: 80
      failureThreshold: 3
      initialDelaySeconds: 15
      periodSeconds: 1
      successThreshold: 1
      timeoutSeconds: 1
    #声明启动探针livenessProbe
    livenessProbe:
      tcpSocket:
        port: 80
      failureThreshold: 3
      initialDelaySeconds: 15
      periodSeconds: 1
      successThreshold: 1
      timeoutSeconds: 1
    #声明启动探针readinessProbe
    readinessProbe:
      tcpSocket:
        port: 80
      failureThreshold: 3
      initialDelaySeconds: 15
      periodSeconds: 1
      successThreshold: 1
      timeoutSeconds: 1

相关文章:

10-k8s中pod的探针

一、探针的概念 一般时候,探针的设置,都是为了优化业务时,需要做的事情;属于后期工作; 1,探针的分类 1,健康状态检查探针:livenessProbe 当我们设置了这个探针之后,检查…...

【Langchain Agent研究】SalesGPT项目介绍(二)

【Langchain Agent研究】SalesGPT项目介绍(一)-CSDN博客 上节课,我们介绍了SalesGPT他的业务流程和技术架构,这节课,我们来关注一下他的项目整体结构、poetry工具和一些工程项目相关的设计。 项目整体结构介绍 我们把…...

《UE5_C++多人TPS完整教程》学习笔记4 ——《P5 局域网连接(LAN Connection)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P5 局域网连接(LAN Connection)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译者&…...

【运维测试】移动测试自动化知识总结第1篇:移动端测试介绍(md文档已分享)

本系列文章md笔记(已分享)主要讨论移动测试相关知识。主要知识点包括:移动测试分类及android环境搭建,adb常用命令,appium环境搭建及使用,pytest框架学习,PO模式,数据驱动&#xff0…...

高校疫情防控系统的全栈开发实战

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…...

OpenTitan- 开源安全芯片横空出世

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

简单的edge浏览器插件开发记录

今天在浏览某些网页的时候,我想要屏蔽掉某些信息或者修改网页中的文本的颜色、背景等等。于是在浏览器的控制台中直接输入JavaScript操作dom完成了我想要的功能。但是每次在网页之间跳转该功能都会消失,我需要反复复制粘贴js脚本,无法实现自动…...

WSL下如何使用Ubuntu本地部署Vits2.3-Extra-v2:中文特化修复版(新手从0开始部署教程)

环境: 硬: 台式电脑 1.cpu:I5 11代以上 2.内存16G以上 3.硬盘固态500G以上 4.显卡N卡8G显存以上 20系2070以上 本案例英伟达4070 12G 5.网络可连github 软: Win10 专业版 19045以上 WSL2 -Ubuntu22.04 1.bert-Vits2.3 Extra-v2:…...

Go语言的100个错误使用场景(40-47)|字符串函数方法

前言 大家好,这里是白泽。 《Go语言的100个错误以及如何避免》 是最近朋友推荐我阅读的书籍,我初步浏览之后,大为惊喜。就像这书中第一章的标题说到的:“Go: Simple to learn but hard to master”,整本书通过分析100…...

Fluke ADPT 连接器新增对福禄克万用 Fluke 15B Max 的支持

所需设备: 1、Fluke ADPT连接器; 2、Fluke 15B Max; Fluke 15B Max拆机图: 显示界面如下图: 并且可以将波形导出到EXCEL: 福禄克万用表需要自己动手改造!!!...

前端工程化面试题 | 10.精选前端工程化高频面试题

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

【并发编程】AQS原理

📝个人主页:五敷有你 🔥系列专栏:并发编程 ⛺️稳中求进,晒太阳 1. 概述 全称是 AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架 特点: 用 state 属性来表示资源的状…...

AI:130-基于深度学习的室内导航与定位

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的关键代码,详细讲解供…...

Leetcode1423.可获得的最大点数

文章目录 题目原题链接思路(逆向思维) 题目 原题链接 Leetcode1423.可获得的最大点数 思路(逆向思维) 由题目可知,从两侧选k张,总数为n张,即从中间选n - k张 nums总和固定,要选k张最…...

深度学习之梯度下降算法

梯度下降算法 梯度下降算法数学公式结果 梯度下降算法存在的问题随机梯度下降算法 梯度下降算法 数学公式 这里案例是用梯度下降算法,来计算 y w * x 先计算出梯度,再进行梯度的更新 import numpy as np import matplotlib.pyplot as pltx_data [1.0,…...

代码随想录第32天|● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II

文章目录 买卖股票思路一:贪心代码: 思路:动态规划代码: 跳跃游戏思路:贪心找最大范围代码: 跳跃游戏②思路:代码: 方法二:处理方法一的特殊情况 买卖股票 思路一&#x…...

线性代数的本质 2 线性组合、张成的空间、基

基于3Blue1Brown视频的笔记 一种新的看待方式 对于一个向量,比如说,如何看待其中的3和-2? 一开始,我们往往将其看作长度(从向量的首走到尾部,分别在x和y上走的长度)。 在有了数乘后&#xff0…...

- 工程实践 - 《QPS百万级的有状态服务实践》01 - 存储选型实践

本文属于专栏《构建工业级QPS百万级服务》 《QPS百万级的无状态服务实践》已经完成。截止目前为止,支持需求“给系统传入两个日期,计算间隔有多少天”的QPS百万级服务架构已经完成。如图1: 图1 可是这个架构不能满足需求“给系统传入两个日期…...

SECS/GEM的HSMS通讯?金南瓜方案

High Speed SECS Message Service (HSMS) 是一种基于 TCP/IP 的协议,它使得 SECS 消息通信更加快速。这通常用作设备间通信的接口。 HSMS 状态逻辑变化(序列): 1.Not Connected:准备初始化 TCP/IP 连接,但尚…...

wayland(xdg_wm_base) + egl + opengles——dma_buf 作为纹理数据源(五)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、EGL dma_buf import 相关的数据结构和函数1. EGLImageKHR2. eglCreateImageKHR()3. glEGLImageTargetTexture2DOES()二、egl 中 import dma_buf 作为纹理的代码实例1. egl_wayland_dmabuf_…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

docker 部署发现spring.profiles.active 问题

报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、👨‍🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨‍&#x1f…...