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

相关推荐
虎头金猫9 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS9 小时前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
codeejun10 小时前
每日一Go·MySQL-5、锁机制全解析
云原生·golang
赵文宇(温玉)12 小时前
CoreDNS的hosts插件的缺行配置导致k8s集群异常
容器·kubernetes·rancher
guo_wen_qiang12 小时前
上传本地镜像到harbor中
docker·容器·持续部署
张洛闻Eren12 小时前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
忆~遂愿15 小时前
本地片库怎么在外面打开?Plex + cpolar 搭一套可远程访问的私人影音库
docker·容器
Thneonl15 小时前
你的 Pod 为什么 Pending:调度器两阶段
后端·kubernetes
不吃香菜kkk、16 小时前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd
ChaITSimpleLove16 小时前
云原生性能对决:JDK21虚拟线程+GraalVM vs .NET10/11 技术栈深度对比
微服务·云原生·serverless·graalvm native·native aot·runtime async·.net11/java21