Pod Hook

Pod Hook 是由 kubelet 发起的,当容器中的进程启动前或者容器中的进程终止之前运行,这是包含在容器的生命周期 之中

Pod Hook

Pod Hook

示例1 环境准备

快速开发平台以下示例中,定义了一个Nginx Pod,其中设置了 PostStart  钩子函数,即在容器创建成功后,写入一句话到 /usr/share/message  文件中。
apiVersion: v1
kind: Pod
metadata:
name: hook-demo1
spec:
containers:
- name: hook-demo1
image: nginx
lifecycle:
postStart:
exec:
command: ["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]

示例2 优雅删除资源对象

示例二

apiVersion: v1
kind: Pod
metadata:
name: hook-demo2
spec:
containers:
- name: hook-demo2
image: nginx
lifecycle:
preStop:
exec:
command: ["/usr/sbin/nginx","-s","quit"]
---
apiVersion: v1
kind: Pod
metadata:
name: hook-demo2
labels:
app: hook
spec:
containers:
- name: hook-demo2
image: nginx
ports:
- name: webport
containerPort: 80
volumeMounts:
- name: message
mountPath: /usr/share/
lifecycle:
preStop:
exec:
command: ['/bin/sh', '-c', 'echo Hello from the preStop Handler > /usr/share/mes
sage']
volumes:
 name: message
hostPath:
path: /tmp
另外 Hook  调用的日志没有暴露个给 Pod 的 event,所以只能通过 describe  命令来获取,如果有错误 将可以看到 FailedPostStartHook  或 FailedPreStopHook  这样的 event。
标签: 软件开发平台Kubernetes容器编排系列

本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,共创和谐网络环境。
转载请注明:文章转载自:快速开发框架 » Pod Hook
本文标题:Pod Hook
本文地址:https://www.hocode.com/OrgTec/Container/0019.html

相关文章: 问答专区

电话
电话 18718672256

微信
二维码