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

相关推荐
AlfredZhao4 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户97183563346610 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪12 小时前
linux 拷贝文件或目录到指定的位置
linux
大树881 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质1 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
Inhand陈工1 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智1 天前
ARP代理--工作原理
运维·网络·arp·arp代理