• K8s进阶之路-Pod的生命周期


    Pod创建过程:
    • 首先创建一个pod,然后创建一个API Server 和 Etcd【把创建出来的信息存储在etcd中】
    • 然后创建 Scheduler,监控API Server是否有新的Pod,如果有的话,会通过调度算法,把pod调度某个node上
    • 在node节点,会通过 kubelet -- apiserver 读取etcd 拿到分配在当前node节点上的pod,然后通过docker创建容器
    在容器环境初始化后:
    初始化阶段:
    1. 初始化容器(由0到多个 )
    2. start启动:钩子函数(回调函数) 
                        配置Poststart:利用钩子函数实现
    Lifecycle生命周期探针:
    注:钩子函数分为:
    start 启动:poststart (容器启动后钩子): 如容器启动后需要执行一些初始化命令就需要用到PostStart钩子
     stop结束:prystop 容器终止前钩子 : 如容器被干掉之前需要执行一些操作,如java服务在容器终止前打印堆栈信息,帮助开发排查异常原因)
         开始与结束中间就是容器)
           3.启动探针: Startup Probe检测主容器是否启动
           4.就绪探针: ReadnessProbe启动成功后的探测
           5.存活探针: LivenessProbe持续检测应用是否存活
    Prestop生命周期
    利用prestop数据清理:
    #kubectl get po -o -wide 获取详细信息
    通过curl查看访问地址是否执行
    测试删除:
    #vim nginx-prestop-po.yaml
    #kubectl get po -w
    -w:持续监听
    #time kubectl delete po nginx-po 
    -time:会监听命令执行的时间
    #vim nginx-prestop-po.yaml
    默认是30
  • 相关阅读:
    Redis订阅模式在生产环境引起的内存泄漏
    Python算法——树的最大深度和最小深度
    window下编译openssl
    allegro中shape的一些基本操作(一)——添加和修改shape
    GBase8s数据库FOR UPDATE 子句
    RGB转MIPI,GM8828C,国产视频接口转换芯片
    MYSQL进阶
    CPU AMX 详解
    微软宣布 TypeScript 4.8 正式发布
    Blender:对模型着色
  • 原文地址:https://blog.csdn.net/weixin_42408510/article/details/136130469