🚀 需求:在 k8s 中的容器,想要在启动后配置自定义脚本执行。
lifecycle 简介
Kubernetes 支持在容器启动后和容器关闭前触发 postStart 事件和 preStop 事件。
**postStart**:Kubernetes 在容器创建后立即发送 postStart 事件。 注意:这里写了是容器创建后发送,而不是容器启动成功后。也就是说 postStart 处理函数的调用不一定早于容器的入口点(entrypoint)的执行。postStart 处理函数与容器的代码是异步执行的,但 Kubernetes 的容器管理逻辑会一直阻塞等待 postStart 处理函数执行完毕。 只有 postStart 处理函数执行完毕,容器的状态才会变成 RUNNING。
**preStop**:Kubernetes 在容器结束前立即发送 preStop 事件。除非 Pod 宽限期限超时, Kubernetes 的容器管理逻辑会一直阻塞等待 preStop 处理函数执行完毕。 更多细节请参阅 Pod 的生命周期。
示例 Pod 配置文件:
- 容器启动后,输出"Hello from the postStart handler