https://kubernetes.io/zh/docs/concepts/containers/container-lifecycle-hooks/

有两个钩子暴露在容器中:
PostStart
这个钩子在创建容器之后立即执行。但是,不能保证钩子会在容器入口点之前执行。
没有参数传递给处理程序。

PreStop
在容器终止之前是否立即调用此钩子,取决于 API 的请求或者管理事件,类似活动探针故障、资源抢占、
资源竞争等等。 如果容器已经完全处于终止或者完成状态,则对 preStop 钩子的调用将失败。
它是阻塞的,同时也是同步的,因此它必须在删除容器的调用之前完成。 没有参数传递给处理程序。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: testLifecycle
  labels:
    app: testLifecycle
spec:
  replicas: 1
  selector:
    matchLabels:
      app: testLifecycle
  template:
    metadata:
      labels:
        app: testLifecycle
    spec:
      containers:
      - name: testLifecycle
        image: registry.yinzhen.cn/demo/testLifecycle
        imagePullPolicy: Always
        lifecycle:
          preStop:
            exec:
              command: ["/bin/sh", "/opt/SpringCloud/cloudserver.sh", "stop"]
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐