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

K8S探针的应用

目录:

    • 1、探针的简介
    • 2、启用探针
      • 2.1、启用就绪探针
      • 2.2、启用存活探针
      • 2.3、启用启动探针(可选)

1、探针的简介

在Kubernetes中,探针(Probes)是用来检查容器健康状况的工具,它们帮助Kubernetes了解容器的状态。Kubernetes支持三种类型的探针:

  • 就绪探针(Readiness Probe):用于判断容器是否准备好服务请求。如果就绪探针失败,Kubernetes不会将流量发送到该容器。
  • 存活探针(Liveness
    Probe):用于判断容器是否仍然运行。如果存活探针失败,Kubernetes会杀死该容器,并根据Pod的重启策略决定是否重启容器。
  • 启动探针(Startup
    Probe):这是一个可选的探针,用于在容器启动时检查其是否已经准备好。这对于那些启动时间较长的容器特别有用,可以防止在容器完全启动之前就开始进行就绪和存活检查。

2、启用探针

你可以通过在Pod的配置文件中定义readinessProbe、livenessProbe或startupProbe来启用这些探针。

2.1、启用就绪探针

apiVersion: v1
kind: Pod
metadata:name: myapp-pod
spec:containers:- name: myapp-containerimage: myapp-imageports:- containerPort: 8080readinessProbe:httpGet:path: /healthzport: 8080initialDelaySeconds: 5periodSeconds: 5

2.2、启用存活探针

apiVersion: v1
kind: Pod
metadata:name: myapp-pod
spec:containers:- name: myapp-containerimage: myapp-imageports:- containerPort: 8080livenessProbe:httpGet:path: /healthzport: 8080initialDelaySeconds: 15periodSeconds: 20

2.3、启用启动探针(可选)

apiVersion: v1
kind: Pod
metadata:name: myapp-pod
spec:containers:- name: myapp-containerimage: myapp-imageports:- containerPort: 8080startupProbe:httpGet:path: /startupzport: 8080failureThreshold: 30periodSeconds: 10readinessProbe:httpGet:path: /healthzport: 8080initialDelaySeconds: 5periodSeconds: 5livenessProbe:httpGet:path: /healthzport: 8080initialDelaySeconds: 15periodSeconds: 20

注意事项:

  • initialDelaySeconds:在开始进行健康检查之前等待的秒数。对于启动探针,这是容器完全启动之前的等待时间。对于就绪和存活探针,这是容器启动后开始检查前的延迟时间。
  • periodSeconds:执行健康检查的时间间隔(秒)。默认情况下,Kubernetes每10秒执行一次检查。根据应用的需要调整这个值。
  • failureThreshold:在认为容器失败并采取行动之前,连续失败的检查次数。默认情况下,这是3次连续失败。对于启动探针,这个值通常设置得较高,因为容器启动可能需要较长时间。
  • successThreshold(可选):在认为容器成功之前连续成功的检查次数。默认值是1,表示一次成功即可。对于启动探针,通常不需要这个设置。
  • type:可以是httpGet、tcpSocket或exec。httpGet通过HTTP
    GET请求来检查;tcpSocket通过打开一个socket来检查;exec通过执行一个命令来检查。根据需要选择合适的类型。

通过正确配置这些探针,你可以有效地管理容器的健康状态,确保应用的稳定性和可用性。

相关文章:

  • Rook 部署 Ceph 集群及 Kubernetes 存储对接实战
  • 【微服务】SpringBoot制作Docker镜像接入SkyWalking详解
  • Anaconda 与 Miniconda 的差异详解
  • [论文阅读]ConfusedPilot: Confused Deputy Risks in RAG-based LLMs
  • 树莓派学习专题<8>:使用V4L2驱动获取摄像头数据--获取摄像头支持的分辨率
  • 进行性核上性麻痹饮食指南:科学膳食提升生活质量
  • SQL中函数
  • C# 跨进程 临界区 互斥 进程锁
  • 轻量级景好鼠标录制器
  • 基于javaweb的SSM+Maven小区失物招领系统设计与实现(源码+文档+部署讲解)
  • 从代码学习深度学习 - 编译器和解释器 PyTorch 版
  • 一个C#扩展库,让Dapper的CRUD操作更简单
  • unity脚本-FBX自动化模型面数校验
  • c语言数据结构------------归并排序(终)
  • Jenkins的地位和作用
  • 《AI大模型应知应会100篇》第32篇:大模型与医疗健康:辅助诊断的可能性与风险
  • 【人脸识别】百度人脸识别H5方案对接
  • Spring AOP + Logback + MDC全链路日志追踪
  • Cesium学习笔记——坐标系统及坐标转换
  • 实用生活c语言脚本
  • 上海消保委调查二次元消费:手办与卡牌受欢迎,悦己和社交是动力
  • 直播中抢镜“甲亢哥”的翁东华卸任!此前任文和友小龙虾公司董事
  • 庆祝中国印尼建交75周年招待会暨万隆会议70周年纪念活动在京举行
  • 美团回应京东“二选一”指控:没有任何理由对某平台进行任何限制
  • 浙江桐乡征集涉企行政执法问题线索,含乱收费、乱罚款、乱检查等
  • 日本首相石破茂向靖国神社献祭品