Pod探针
//
Configure Liveness, Readiness官方文档 (opens new window)
pod处于存活状态并不意味这可以提供服务,比如某些java程序一系列的检测,启动时间需要2,3分钟
配置字段
initialDelaySeconds:容器启动后要等待多少秒后才启动启动、存活和就绪探针, 默认是 0 秒,最小值是 0。 periodSeconds:执行探测的时间间隔(单位是秒)。默认是 10 秒。最小值是 1,每N秒进行一次探测 timeoutSeconds:探测的超时后等待多少秒。默认值是 1 秒。最小值是 1,容器必须在2秒内反馈信息给探针,否则视为失败 successThreshold:探针在失败后,被视为成功的最小连续成功数。默认值是 1。 存活和启动探测的这个值必须是 1。最小值是 1。 failureThreshold:当探测失败时,Kubernetes 的重试次数。 对存活探测而言,放弃就意味着重新启动容器。 对就绪探测而言,放弃意味着 Pod 会被打上未就绪的标签。默认值是 3。最小值是 1。
启动探针和存活探针,就绪探针对比
启动探针(Startup) | 存活探针(Liveness) | 就绪探针(Readiness) | |
---|---|---|---|
pod未通过检测 | 重启Pod到指定次数,状态改为BackOff | 杀死Pod,重启动新Pod | 等待 |
Service服务 | 无 | Endpoint 自动更新pod信息 | 检测失败从Endpoint 移除pod |
作用 | Pod 是否启动 | Pod是否存活 | Pod是否准备好提供服务 |
startup:启动探测成功一次,存活探测任务就会接管对容器的探测
liveness:探针用于Pod是否处于存活状态
readiness:探针用于Pod里面的容器是否一切准备就绪,可以对外提供服务
- 测试模板
apiVersion: v1
kind: Service
metadata:
name: nginx-web
labels:
app: web
spec:
selector:
app: web
ports:
- protocol: TCP
name: web
port: 88
targetPort: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: nginx-dp
name: nginx-dp
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
containers:
- image: nginx
imagePullPolicy: Always
ports:
- containerPort: 80
name: nginx-port
protocol: TCP
name: h5
readinessProbe:
tcpSocket:
port: 80
initialDelaySeconds: 30
periodSeconds: 5
timeoutSeconds: 2
successThreshold: 2
failureThreshold: 2
livenessProbe:
httpGet:
path: /index.html
port: nginx-port
initialDelaySeconds: 30
failureThreshold: 3
periodSeconds: 20
startupProbe:
httpGet:
path: /index.html
port: nginx-port
failureThreshold: 3
periodSeconds: 10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//
如果此文章对您有帮助,点击 -->> 请博主喝咖啡 (opens new window)
上次更新: 2023/11/03, 15:53:19