控制信号

在开始讨论 Kubernetes 如何使用 控制信号 控制容器之前,

也许您有必要回顾一下 Docker的控制信号部分 容器的启动和停止

当 Kubernetes 决定关闭一个容器时,

无论是 Pod 需要关闭 还是 存活探针 失败 造成的 容器重启,

Kubernetes 都会给容器发送一个 SIGTERM 信号。

容器有义务尽快响应 SIGTERM信号,迅速终止,例如 关闭已经打开的数据库连接,清理临时文件等等

Kubernetes会提供 默认30秒 的宽限期,如果容器在30秒之后没有关闭,它将发送 SIGKILL信号来杀死容器

这个默认30秒可以通过 Pod 的下列属性修改

.spec.terminationGracePeriodSeconds 
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  namespace: default
spec:
  containers:
  - name: nginx
    image: nginx
  terminationGracePeriodSeconds: 30

注意这个属性是作用在 Pod 上的,不是 container

Send a Message