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秒左右了

相关推荐
GlobalSign数字证书3 小时前
小企业零运维 TLS 架构设计:证书生命周期管理(CLM)与自动化轮换策略的技术选型
运维·自动化
mCell4 小时前
GitHub Actions 玩法大赏:一台远程主机的七种活法
linux·github·agent
盐焗鹌鹑蛋4 小时前
【Linux】动静态库的制作与使用
linux
styshoo4 小时前
[NVSentinel] metadata-collector模块调研
kubernetes·gpu·ai infra·nvsentinel
艾伦_耶格宇5 小时前
【ELK】-4 logstash的搭建及操作
linux·运维·ubuntu·elk
mifengxing5 小时前
文件逻辑结构、物理结构与磁盘空闲存储空间管理
大数据·linux·运维·操作系统·计算机408
ltl6 小时前
Cilium 可观测口径:status、metrics 语义与 bpftool 边界
kubernetes
小此方7 小时前
Re:Linux系统篇(五十七)线程篇 · 十:基于环形缓冲的生产者消费者模型与信号量
linux·运维·驱动开发
fanged8 小时前
Linux的DD命令
linux·运维·服务器
xiaoxiangsiyan9 小时前
RHCE2026云原生路线EX188和EX288完整备考指南
运维·网络·云原生·自动化