1、概念: Kubernetes(k8s)中的探针是一种健康检查机制,用于监测Pod内容器的运行状况。主要包括以下三种类型的探针:
2、探针的种类: liveness探针: 在容器启动后执行探针的检测,检测容器是否正常运行 readness探针:在容器初始化就绪,业务容器拉起后。执行就绪检测,如果检测通过说明业务容器可以接受业务流量了 startup探针:确认业务容器是否完成并完成了初始化任务。优点:有效防止应用在启动的过程中被误判为不健康或者未就绪。避免无意义的重启
3、探针的检测方式: exec:通过执行命令的方式来判断是否健康,并判断$? 的返回值 httpget:通过发送http的请求来确认是否就绪,并判断返回码是否正常 tcpsocket:通过tcp链接来确认,比如尝试链接容器的某一个端口如8080,能链接说明正常。
4、举例 常用探针:存活、就绪探针 常用检测方式:httpget #举例:就绪探针,分别以httpget或者exec方式来检测
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: nginx
name: nginx
namespace: t-nginx
spec:
replicas: 2
containers:
- name: nginx
image: nginx:1.24.2
ports:
- containerPort: 8443
readnessProbe:
httpGet:
path: /test
port: 8443
initialDelaySeconds: 5 #程序初始化就绪后多久开始执行
periodSeconds: 5 #探针的执行频率
#如果把httpget检测换成exec的探测如下
readnessProbe:
exec:
command:
- cat
- /tmp/test.txt
failureThreshold: 1 #失败时候的重试次数
initialDelaySeconds: 5 #初始化检测前的等待时间,可以理解为等待多久后开始第一次测试
periodSeconds: 5 #执行时间间隔
标签:容器,就绪,nginx,检测,探针,yaml,httpget,k8s,随记
From: https://blog.51cto.com/u_15380854/11936177