Linux:kubernetes(k8s)prestop事件的使用(11)

他的作用是在结束pod容器之后进行的操作


复制代码
apiVersion: v1 # api文档版本
kind: Pod  # 资源对象类型
metadata:  # pod相关的元数据,用于描述pod的数据
  name: nginx-po # pod名称
  labels:  # pod的标签
    type: app   #这个是随便写的 自定义的标签
    version: 1.0.0   #这个是随便写的
  namespace: 'default'  #命名空间的配置
spec: #期望pod按照这里面的描述进行创建
  containers:  #对于pod容器的描述
  - name: nginx #容器的名称
    image: nginx:1.7.9 # 指定容器的镜像
    imagePullPolicy: IfNotPresent  #镜像拉取策略
    lifecycle: # 生命周期配置
      postStart:
        exec:
          command:
          - sh
          - -c
          - "echo 'pre stop' > /usr/share/nginx/html/prestop.html"
      preStop:
        exec:
          command:
          - sh
          - -c 
          - "sleep 50 ; echo 'sleep finished...' >> /usr/share/nginx/html/prestop.html" 
    command: # 指定容器启动时执行的命令
    - nginx 
    - -g
    - 'daemon off;'
    workingDir: /usr/local/nginx/html # 定义容器启动后的工作目录
    ports: 
    - name: http # 端口名称
      containerPort: 80 # 描述容器内容要暴露的端口
      protocol: TCP # 端口是用什么协议通信
    env:   # 环境变量
    - name: JVM_OPTS  # 环境变量的名称
      value: '-Xms128m -Xmx128m'  # 环境变量的值
    resources: 
      requests: # 最少需要多少资源
        cpu: 100m #限制cpu最少使用 1000m=1核心 100m就是0.1个核心
        memory: 128Mi #限制内存最少使用129兆
      limits:  #最多可以用多少 
        cpu: 200m # 限制最多可以使用多少
        memory: 256Mi
  restartPolicy: OnFailure #重启策略,只有失败的情况才会重启

将这yaml文件运行起来

开始的时候写入一段 pre stop 结束的时候先休眠50秒 再写入一个 sleep ......

可以看到已经写入了,


查看效果

现在我们左边右边都开一个终端,右边持续监听从而持续查看他的一个状态

复制代码
kubectl get po -w

当我们删除pod的时候默认他是缓30秒后才删除的,这是归功于terminationGracePeriodSeconds: 30

我没写所以他默认是30秒,如果想改成别的时间,可以直接把他加上并且改后面的数值

我来测试一下他

可以看到就是30秒(多个1秒2秒问题也不大)

现在我把 terminationGracePeriodSeconds: 30加上 时间改成40秒,让后再去生成一个容器

发现就是40秒左右了

相关推荐
xrui5816 分钟前
2026实战:深度解析 Gemini 3.1 镜像站函数调用在自动化运维工单中的应用
linux·服务器·网络
HackTwoHub21 分钟前
Linux 内核史诗级本地提权 全网深度复现、原理完整分析( CVE-2026-31431)
linux·运维·安全·web安全·网络安全·代码审计·安全架构
她说彩礼65万1 小时前
C语言 文件
linux·服务器·c语言
txg6661 小时前
自动驾驶领域热点简报(2026-04-26 ~ 2026-05-03)
linux·人工智能·自动驾驶
二哈赛车手1 小时前
新人笔记---ES和kibana启动问题以及一些常用的linux的错误排查方法,以及ES,数据库泄密解决方案[超详细]
java·linux·数据库·spring boot·笔记·elasticsearch
嵌入式×边缘AI:打怪升级日志1 小时前
嵌入式Linux开发核心自测题(全系列精华浓缩)
java·linux·运维
嵌入式×边缘AI:打怪升级日志1 小时前
TinaSDK Linux Kernel 基本使用(全志T113开发板)
linux·运维·服务器
嵌入式×边缘AI:打怪升级日志2 小时前
Linux内核基础完全入门指南(理论篇)
linux·运维·服务器
Muyuan19982 小时前
28.Paper RAG Agent 开发记录:修复 LLM Rerank 的解析、Fallback 与可验证性
linux·人工智能·windows·python·django·fastapi
比昨天多敲两行2 小时前
Linux进程概念
linux·运维·服务器