zoukankan      html  css  js  c++  java
  • pod 生命周期hook钩子函数

    参考:

    k8s使用pod hook钩子函数

    0、如果没有设置钩子,pod如何删除

    给pod里的每个容器中pid为1的进程发送 kill -9 (SIGTERM) 信号,

    1、postStart

    这个钩子在创建容器之后立即执行。但是,并不能保证钩子在容器本身的初始命令(ENTRYPOINT)之前执行。主要用于资源部署、环境准备等。
    不过需要注意的是如果钩子花费实践过长以至于不能运行或者挂起,容器将不能达到Running状态。

    apiVersion: v1
    kind: Pod
    metadata:
      name: start-hook
      labels:
        app: test
    spec:
      containers:
      - name: start-hook
        image: nginx
        ports:
        - name: nginx-port
          containerPort: 80
        lifecycle:
          postStart:
            exec:
              command: ["/bin/bash", "-c", "echo before running> /postStart.txt"]
    

    2、preStop

    在容器终止之前立即调用此钩子。它是阻塞的,同时也是同步的,所以只有此钩子执行完后,才会执行删除容器的操作
    主要用于优雅关闭应用程序、通知其他系统等。如果钩子在执行期间挂起,Pod阶段将停留在Running状态并且不会达到failed状态

    apiVersion: v1
    kind: Pod
    metadata:
      name: stop-hook
      labels:
        app: test
    spec:
      containers:
      - name: stop-hook
        image: nginx
        ports:
        - name: nginx-port
          containerPort: 80
        lifecycle:
          preStop:
            exec:
              command: ["/usr/sbin/nginx","-s", "quit"]   
    
  • 相关阅读:
    python--列表,元组,字符串互相转换
    10月清北学堂培训 Day 2
    10月清北学堂培训 Day 1
    网络流小结
    P1850 换教室
    P1948 [USACO08JAN]电话线Telephone Lines
    P3147 [USACO16OPEN]262144
    8月清北学堂培训 Day 7
    8月清北学堂培训 Day3
    8月清北学堂培训 Day1
  • 原文地址:https://www.cnblogs.com/leaderjs/p/13517565.html
Copyright © 2011-2022 走看看