当前位置:网站首页>Liveness、Readiness 和 Startup Probes
Liveness、Readiness 和 Startup Probes
2022-07-23 05:47:00 【study_小达人】
liveness:
apiVersion: v1
kind: Pod
metadata:
labels:
test: liveness
name: liveness-exec
spec:
containers:
- name: liveness
image: k8s.gcr.io/busybox
args:
- /bin/sh
- -c
- touch /tmp/healthy; sleep 30; rm -f /tmp/healthy; sleep 600
livenessProbe:
exec:
command:
- cat
- /tmp/healthy
initialDelaySeconds: 5
periodSeconds: 5
```
其中 initialDelaySeconds: 5表示启动时等待五秒钟在开始第一次检测,periodSeconds: 5每过五秒钟进行一次检测
在容器生命的前 30 秒内,有一个/tmp/healthy文件。因此,在前 30 秒内,该命令会cat /tmp/healthy返回一个成功代码。30 秒后,cat /tmp/healthy返回失败代码
apiVersion: v1
kind: Pod
metadata:
labels:
test: liveness
name: liveness-http
spec:
containers:
- name: liveness
image: k8s.gcr.io/liveness
args:
- /server
livenessProbe:
httpGet:
path: /healthz
port: 8080
httpHeaders:
- name: Custom-Header
value: Awesome
initialDelaySeconds: 3
periodSeconds: 3
这里定义了一个http活跃度检测,如果处理程序返回失败代码,kubelet 将杀死容器并重新启动它。
任何大于或等于 200 且小于 400 的代码都表示成功。任何其他代码都表示失败
Readiness:
apiVersion: v1
kind: Pod
metadata:
name: goproxy
labels:
app: goproxy
spec:
containers:
- name: goproxy
image: k8s.gcr.io/goproxy:0.1
ports:
- containerPort: 8080
readinessProbe:
tcpSocket:
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
tcpSocket:
port: 8080
initialDelaySeconds: 15
periodSeconds: 20
TCP 检查的配置与 HTTP 检查非常相似。此示例同时使用就绪和活跃度探测。
kubelet 将在容器启动 5 秒后发送第一个就绪探测。这将尝试连接到goproxy端口 8080 上
的容器。如果探测成功,Pod 将被标记为就绪。kubelet 将继续每 10 秒运行一次此检查
Startup Probes:
startupProbe:
httpGet:
path: /healthz
port: liveness-port
failureThreshold: 30
periodSeconds: 10
应用程序将有最多 5 分钟 (30 * 10 = 300s) 来完成其启动。一旦启动探测成功一次,活跃
度探测就会接管以提供对容器死锁的快速响应。如果启动探测从未成功,则容器在 300 秒
后被杀死并受制于 pod 的restartPolicy, 如果配置了这样的探针,它将禁用活动性和就绪性检查,直到成功,确保这些探针不会干扰应用程序启动
(主要用在启动时间过长的情况下)
字段解释:
initialDelaySeconds:容器启动后在启动活动或就绪探测之前的秒数。默认为 0 秒。最小值为 0。
periodSeconds:执行探测的频率(以秒为单位)。默认为 10 秒。最小值为 1。
timeoutSeconds: 探测超时的秒数。默认为 1 秒。最小值为 1。
successThreshold:探测失败后被视为成功的最小连续成功次数。默认为 1。对于 liveness 和 startup Probes,必须为 1。最小值为 1。
failureThreshold:当一次探测失败时,Kubernetes 会尝试failureThreshold多次,然后放弃。在 liveness probe 的情况下放弃意味着重新启动容器。在就绪探测的情况下,Pod 将被标记为未就绪。默认为 3。个
边栏推荐
猜你喜欢

深度优先找出图中顶点U到顶点V的所有简单路径

@Requiredargsconstructor annotation use

路由与交换技术——静态路由

C#:TopK:1万个数取前最大的100,堆排序

浅做一下思科实验吧!

Gameframework: resource hot code analysis, check version information, download version files, verify version files, get the number of updated files, download files, taskpool

C #: TOPK: take the largest 100 before 10000 numbers, and sort the heap

FTP实验及概述

OSPF综合实验

学习日记——(路由与交换技术)动态路由(rip协议)和静态路由
随机推荐
Link expansion configuration of OSPF
HCIP---OSPF细节讲解
C: stack stack source code, array stack, chain stack
Unity3d:UGUI源码,Rebuild优化
Routing and interface technology -- Summary of direct network
浅析互联网协议(一)
Instant messaging websocket
记一次日志文件IO系统的设计心得
为什么要搭建本地yum仓库?
LSM-tree(Log Structured-Merge Tree)的理解
Learning diary - (routing and switching technology) network address translation NAT Technology
学习日记(路由与交换技术)——浮动静态路由和缺省路由
C # custom bidirectional linked list
学习日记——(路由与交换技术)网络地址转换 NAT技术
Analyze sentinel mode in redis
HCIP---BGP ---边界网关协议
DHCP second experiment
关于搭建Hybrid App所需要的基础技术一文
C language can also write Plants vs. Zombies
Unity3d:UGUI源碼,Rebuild優化