0%

Kubernetes之容器生命周期回调

这里介绍Kubernetes中容器生命周期的回调

abstract.png

实践

Kubernetes为容器提供了生命周期回调,包括PostStart、PreStop两种钩子可在容器启动后、停止前执行相应的回调。具体地,回调方式支持Exec、HTTP两种形式。示例如下所示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
apiVersion: v1
kind: Pod
metadata:
name: my-nginx
spec:
containers:
- name: my-nginx
image: nginx:alpine
lifecycle:
# 容器启动后的回调
postStart:
exec:
command: ["/bin/sh", "-c", "echo 'You Know, For Nginx' > /var/info.txt"]
# 容器停止前的回调
preStop:
exec:
# 优雅停止Nginx, 并通过killall发送0信号判断nginx进程是否依然存在
command: ["/bin/sh","-c","nginx -s quit; while killall -0 nginx; do sleep 1; done"]

效果如下所示

figure 1.jpeg

参考文献

  1. Kubernetes in Action中文版 Marko Luksa著
  2. 深入剖析Kubernetes 张磊著
请我喝杯咖啡捏~

欢迎关注我的微信公众号:青灯抽丝