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

相关推荐
赖small强4 分钟前
【音视频开发】CMOS Sensor图像采集原理及Linux主控ISP处理流程
linux·音视频·cmos·isp·v4l2
津渡7415 分钟前
【技术实战】Linux 服务器网络流量统一配置(TUN模式):解决 Docker/开发环境连接难题
linux
yqcoder5 分钟前
uni-app 之 uni.showToast
运维·服务器·uni-app
胖咕噜的稞达鸭5 分钟前
基础IO 文件在内核中是怎么被管理的 重定向的含义 在自定义shell中加入重定向
linux·c++·git·腾讯云·visual studio·csdn开发云
007php0077 分钟前
nginx面试之负载均衡的实际经历与配置
运维·数据库·mysql·nginx·面试·职场和发展·负载均衡
天宁8 分钟前
Ubuntu 一键切换吉林大学镜像源
linux·ubuntu
6***v41717 分钟前
启动nginx报错nginx [emerg] bind() to 0.0.0.080 failed (98 Address already in use)
运维·nginx
代码栈上的思考17 分钟前
Linux 核心基础实操(含远程登录、编辑器、用户管理等)
linux·运维·服务器
礼拜天没时间.19 分钟前
《Grafana 企业级可视化监控实战指南:从安装、配置到智能告警》:Grafana 使用
linux·运维·信息可视化·zabbix·grafana·监控
代码游侠21 分钟前
数据结构——单向链表
linux·开发语言·数据结构·学习·算法·链表