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

相关推荐
阿里云云原生2 小时前
Higress v2.2.3 发布:正式入驻 CNCF Sandbox,AI Gateway 与 Ingress 迁移能力双向加固
云原生
lichenyang4538 小时前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4538 小时前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4538 小时前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
阿里云云原生1 天前
香港站【企业 AI Agent 工程化实战专场】来啦,邀您7月9日见!
云原生·agent
阿里云云原生1 天前
研发域与运维域的“数字握手”:通过 Agentic Skills 实现 DevOps 全链路自动化
云原生
运维开发故事3 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
Patrick_Wilson5 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
阿里云云原生5 天前
AI 开发新常态:当 Cursor、Claude、Codex 并行,如何统一管理散落的 Skill 资产?
云原生·ai编程
探索云原生5 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes