如何使用 Kubernetes Hooks 跟踪容器生命周期

x33g5p2x  于2022-08-17 转载在 Kubernetes  
字(0.6k)|赞(0)|评价(0)|浏览(335)

Kubernetes容器生命周期挂钩可让您响应容器的创建和终止。您可以通过在容器内运行命令或向其公开的端点发出 HTTP 请求来处理事件。

Hooks 通常用于记录容器事件、实现清理脚本以及在新 Pod 加入集群后运行异步任务。在本文中,我们将展示如何将钩子处理程序附加到您的 Pod 并获得对容器生命周期的更多控制。

两个可用的钩子

当前的 Kubernetes 版本支持两个容器生命周期钩子:

  • PostStart– 创建新容器后立即调用此钩子的处理程序。
  • PreStop– 在 Kubernetes 终止容器之前立即调用此钩子。

可以使用两种不同的机制来处理它们:

  • Exec– 在容器内运行指定的命令。
  • HTTP– 向容器内的 URL 发出 HTTP 请求。

这两个钩子都没有向它们的处理程序提供任何参数。每个容器支持每个钩子的单个处理程序;无法调用多个端点或将 exec 命令与 HTTP 请求结合使用。

定义挂钩处理程序

containers.lifecycle您可以使用它们的清单字段为 Pod 定义钩子处理程序。在此字段中,设置postStart和preStop属性以实现一个或两个可用挂钩。

这是一个简单的 Pod,它在启动时记录一条消息:

apiVersion: v1
kind: Pod
metadata:
  name: pod-with-hooks
spec:
  containers:
    - name: pod-hook-container
      image:

相关文章

微信公众号

最新文章

更多