Kubernetes》》K8S》》Pod的健康检查

K8s概念总结
》》》Pod的生命周期阶段
Pod的生命周期可以简单描述:首先Pod被创建,紧接着Pod被调度到Node节点进行部署。
Pod是非常忠诚的,一旦被分配到Node节点后,就不会离开这个Node节点,直到它被删除,删除可能是人为删除或者被RC(Replication Controller 旧版本)、RS(ReplicaSet新版本)删除,也可能是当Pod进行Succeeded或Failed阶段过期,被K8s 清理掉。总之Pod被删除后,生命周期结束。即使被RS、RC 进行重建,也是新的Pod。
Pod的生命周期被定义为以下几个阶段

Pending:Pod已经被创建,但是一个或者多个容器还未创建,这包括Pod调度阶段,以及容器镜像下载阶段
Running: Pod已经被调度到Node节点上,所有容器已经创建,并且至少一个容器在运行或者正在重启
Succeeded:Pod中所有容器正常退出 就是Exit Code 为0
Failed: Pod中所有容器退出,至少有一个容器是非正常退出(Exit Code 非0 )

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Pod被创建成功后,首先会进入Pending阶段,然后被调度到Node后运行,进入Running阶段。如果Pod中的容器停止(正常或者异常退出),那么Pod根据重启策略的不同会进入不同的阶段。

》》回调函数
在这里插入图片描述

在这里插入图片描述

# Pod活着才可能提供处理能力(提供服务),Pod死了,一定就不能提高处理能力,Pod活着不一样就能提供处理能力
# liveness 存活性检测   检测Pod是否活着
# readiness 就绪性检测  检测Pod是否准备就绪提供处理能力

开始回调钩子(postStart)里面有如下三种方式:
exec : 执行命令,执行的结果如果返回值不为0即为失败(注:exec下面执行的命令,必须为当前容器内支持的命令)
tcpsocket :探测端口,探测的端口如果探测失败即为失败
httpget : 访问链接 ,如果访问链接状态码不为200即为失败
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

。。。。。
#  exec 方式
spec: containers: - image: nginx:1.17.1name: nginx-containerports: - name: "port-name"containerPort: 8080protocol: TCPlifecycle:postStart:  # 主容器启动后钩子exec:command: - "/bin/sh"- "-c"- "touch /opt/lifecycle.txt"preStop:  # 主容器终止前钩子exec:command: - "/bin/sh"- "-c"- "cat /opt/lifecycle.txt"

以下列子是在主容器启动后会去访问链接http://192.x.1.x:8080/login,在主容器终止前去访问链接http://192.x.1.x:8080/logout;

#  httpget方式

#  httpget方式
spec: containers: - image: nginx:1.17.1name: nginx-containerports: - name: "port-name"containerPort: 8080protocol: TCPlifecycle:postStart:  # 主容器启动后钩子httpGet: path: /login             # Url地址port: 8080          # 端口host: 192.x.1.x # 默认pod的PodIPschema: HTTP # 支持的协议,http或httpspreStop:  # 主容器终止前钩子httpGet: path: /logout            # Url地址port: 8080          # 端口host: 192.x.1.x # 主机地址schema: HTTP # 支持的协议,http或https  默认 http

以下列子是在主容器启动后尝试去连接8080端口,在主容器终止前去连接8081端口

# tcpsocket 方式
spec: containers: - image: nginx:1.17.1name: nginx-containerports: - name: "port-name"containerPort: 8080protocol: TCPlifecycle:postStart:  # 主容器启动后钩子tcpSocket: port: 8080preStop:  # 主容器终止前钩子tcpSocket: port: 8081

Pod健康检测

apiVersion: v1
kind: Pod
metadata:name: liveness-exec-podlabels:test: liveness
spec:containers:- name: livenessimage: nginx:latest# 定义健康检查探针livenessProbe:httpGet:  # 指定探针的检测方法为httpGet。path: /index.html  # 指定访问的文件路径信息即可,无需指定IP地址,因为默认就是访问本机,可以理解为127.0.0.1。port: 800  # 指定对容器的哪个端口发送GET请求。  因Nginx  默认是 80端口,如800也就是不成功,会重启pod。如果80,则就正常initialDelaySeconds: 15# 指定每次周期的健康检查的间隔时间。periodSeconds: 5timeoutSeconds: 1successThreshold: 1failureThreshold: 3

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

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

相关文章

bininote: 使用AI将视频转换了Markdown笔记

GitHub:https://github.com/JefferyHcool/BiliNote 更多AI开源软件:发现分享好用的AI工具、AI开源软件、AI模型、AI变现 - 小众AI BiliNote 是一个开源的 AI 视频笔记助手,支持通过哔哩哔哩、YouTube 等视频链接,自动提取内容并生…

鸿蒙NEXT开发文件预览工具类(ArkTs)

import { uniformTypeDescriptor } from kit.ArkData; import { filePreview } from kit.PreviewKit; import { FileUtil } from ./FileUtil; import { AppUtil } from ./AppUtil; import { WantUtil } from ./WantUtil;/*** 文件预览工具类* 提供文件预览、加载、判断等功能。…

MySQL常用SQL语句的示例

概述 MySQL 常用 SQL 语句的示例,涵盖数据定义、操作、查询等常见场景 一、数据库操作 创建数据库 CREATE DATABASE mydb;选择数据库 USE mydb;删除数据库 DROP DATABASE mydb;二、表操作 创建表 CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT,name VAR…

智算启新篇 安全筑新基 ——中国移动举办智算基础设施及安全分论坛

4月10日,2025中国移动云智算大会智算基础设施及安全分论坛在苏州金鸡湖国际会议中心揭幕。 在数字经济浪潮奔涌向前的时代坐标下,中国移动锚定“创世界一流信息服务科技创新公司”定位,持续推进智算基础设施建设,持续提升网信安全…

MySQL——游标(cursor)

一、什么是游标? 游标(Cursor) 是MySQL中用于逐行处理查询结果集的数据库对象。它类似于指针,允许开发者在结果集中逐行移动,并对每一行数据进行特定操作。游标将传统的集合操作转换为面向过程的记录处理方式&#xf…

异步编程——微信小程序

1. 前言 引用来自:微信小程序开发中的多线程处理与异步编程_微信小程序 多线程-CSDN博客 微信小程序是基于JavaScript开发的,与浏览器JavaScript不同,小程序运行在WebView内部,没有多线程的概念。小程序的 JavaScript 是单线程的…

HarmonyOS-ArkUI V2状态-PersistenceV2:持久化存储UI状态

PersistenceV2类是一个与AppStorageV2类用法非常相似的类。因为它俩是子类和父类的关系。如果不了解AppStorageV2,可以先跳转至了解一下这个类。 HarmonyOS-ArkUI V2工具类:AppStorageV2:应用全局UI状态存储-CSDN博客 PersistenceV2相比于其父类AppStorageV2而言,它存储的…

《Mycat核心技术》第22章:搭建Mycat+Zookeeper+HAProxy+Keepalived+MySQL高可用架构

作者:冰河 星球:http://m6z.cn/6aeFbs 博客:https://binghe.gitcode.host 文章汇总:https://binghe.gitcode.host/md/all/all.html 星球项目地址:https://binghe.gitcode.host/md/zsxq/introduce.html 沉淀&#xff0c…

Aosp13 文件应用点击apk无反应的处理

最近遇到一个问题,在A13上,打开文件管理应用时,点击apk 无反应或者启动安装进程后安装完成或取消安装进程,再次点击apk 无反应。在此记录该问题。 做一下修改:root/package/ providers/DownloadProvider/下 jenkinsdel…

SQL刷题记录贴

1.题目:现在运营想要对用户的年龄分布开展分析,在分析时想要剔除没有获取到年龄的用户,请你取出所有年龄值不为空的用户的设备ID,性别,年龄,学校的信息。 错误:select device_id,gender,age,un…

【Windows本地部署n8n工作流自动平台结合内网穿透远程在线访问】

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

python爬虫降低IP封禁,python爬虫除了使用代理IP和降低请求频率,还有哪些方法可以应对IP封禁?

文章目录 前言1. 利用 CDN 节点2. 模拟真实用户行为3. 使用 IP 池轮换策略4. 处理 Cookie 和会话信息5. 分布式爬虫 前言 除了使用代理 IP 和降低请求频率,以下这些方法也能应对 IP 封禁: Python 3.13.2安装教程(附安装包)Python…

光谱相机的成像方式

光谱相机的成像方式决定了其如何获取物体的空间与光谱信息,核心在于分光技术与扫描模式的结合。以下是主要成像方式的分类解析: ‌一、滤光片切换型‌ ‌1. 滤光片轮(Filter Wheel)‌ ‌原理‌:通过旋转装有多个窄带…

AI在市场营销分析中的核心应用及价值,分场景详细说明

以下是 AI在市场营销分析中的核心应用及价值,分场景详细说明: 1. 客户行为分析与细分 AI技术应用: 机器学习:分析用户点击、购买、浏览等行为数据,识别消费模式(如高频购买时段、偏好品类)。聚…

浔川AI翻译v7.0更新预告

亲爱的浔川AI翻译用户: 感谢您一直以来的支持!浔川AI翻译自推出以来,已迭代6个版本,其中**v2.0和v4.0因技术问题(翻译结果显示异常、注册失败、密码找回功能失效等)**被迫下架。我们深知这些问题影响了您…

LabVIEW中二维数组转换为彩色图

在 LabVIEW 编程环境下,有用户想把二维数组转化为彩色图片。通过附件的程序示例,给出了具体实现方法,包括对数据的处理以及颜色映射的设置等内容,还涉及解决数据范围与颜色映射不匹配等问题。公司官网有源码 程序功能及细节 功能&…

【模型常见评价指标(分类)】

目录 常见指标 其他的评估指标 3.1 BLEU 3.2 ROUGE 3.3 困惑度PPL(perplexity) 常见指标 其他的评估指标 3.1 BLEU BLEU(Bilingual Evaluation Understudy,双语评估替补)分数是评估一种语言翻译成另一种语言的文本质量的指标。它将“质…

期货数据API对接实战指南

一、期货数据接口概述 StockTV提供全球主要期货市场的实时行情与历史数据接口,覆盖以下品种: 商品期货:原油、黄金、白银、铜、天然气、农产品等金融期货:股指期货、国债期货特色品种:马棕油、铁矿石等区域特色期货 …

TCP连接建立:为什么是三次握手?

接下来,以三个方面分析三次握手的原因: 1、三次握手才可以阻止重复历史连接的初始化(主要原因) 2、三次握手才可以同步双方的初始化序列号 3、三次握手才可以避免资源浪费 原因一:避免历史连接 简单来说&#xff0…

Table类型的表单

形如下面的图片 1 label与prop属性 const columns[{label: "文件名",prop: "fileName",scopedSlots: "fileName",},{ label: "删除时间",prop: "recoveryTime",width: "200",},{ label: "大小",prop:…