20240126 - k8s - 探针

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
66
67
68
69
70
71
==== 开始 ====
生命周期
lifecycle:
postStart:
httpGet:
path: /healthz/ready
port: 15020
scheme: HTTP
preStop:
exec:
command:
- sh
- -c
- kill $(ps -ef --no-headers|grep '/sharedFiles/AppServerAgent/javaagent.jar'|awk
'{print $2}')
存活探针 通过存活探针检查容器是否还在运行 如果LivenessProbe失败,LivenessProbe将通知kubelet对应的container不健康了,随后kubelet将kill掉container,并根据RestarPolicy进行进一步的操作
livenessProbe:
自定义健康检查: 在容器中执行指定的命令,如果执行成功,退出码为0则探测成功
exec:
command:
- sh
- /tmp1/health-check.sh
将探针标记为失败之前的重试次数
failureThreshold: 8
启动探针前要等待的秒数. 默认是0
initialDelaySeconds: 240
对容器监控检查的定期探测时间设置,默认10秒一次
periodSeconds: 30
探针需要通过的最小连续成功检查次数. 通过为成功,默认是1
successThreshold: 1
检测超时时间. 默认是1
timeoutSeconds: 5
name: ecoupon-spectrum-vas-a
ports:
- containerPort: 8080
protocol: TCP
就绪探针 通过就绪探针保证只有准备好了请求的Pod才能接收客户端请求
除了以上两种探针,还有startupProbe: 判断容器内的应用程序是否已启动(优先级最高)
readinessProbe:
自定义健康检查: 在容器中执行指定的命令,如果执行成功,退出码为0则探测成功
exec:
command:
- sh
- /tmp1/health-check.sh
将探针标记为失败之前的重试次数
failureThreshold: 8
启动探针前要等待的秒数. 默认是0
initialDelaySeconds: 240
对容器监控检查的定期探测时间设置,默认10秒一次
periodSeconds: 30
探针需要通过的最小连续成功检查次数. 通过为成功,默认是1
successThreshold: 1
检测超时时间. 默认是1
timeoutSeconds: 5
资源限制
resources:
limits:
cpu限制,将用于docker run --cpu-shares参数
cpu: "4"
内存限制,将用于docker run --memory参数
memory: 8Gi
临时存储限制 容器可使用的临时存储资源上限
ephemeral-storage: "8Gi"
requests:
cpu请求,容器启动的初始可用数量
cpu: "4"
内存请求,容器启动的初始可用数量
memory: 8Gi
临时存储限制 容器可使用的临时存储资源上限
ephemeral-storage: "4Gi"
==== 截止 ====