首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Kubernetes之Pod生命周期

简括:首先kubectl向 API 接口发送指令,随后kube-api 会调度到我们的kubelet,这个调度过程是由我们的etcd完成的存储,随后kubelet操作CRI ,由CRI完成容器环境的初始化。在初始化的过程中会先启动一个pause的基础容器(谷歌制作的一个非常简洁的一个容器),pause容器负责pod中容器的网络已经存心卷共享的。随后,pause进行一个或者多个或者没有 init C 的初始化。init初始化完成了。会正常退出。退出码为0,如果非零为不正常,会再根据我们的重定策略去判断是否继续重新执行。多个初始化的容器做完了之后,会进入到主容器main C .main C 在刚运行的时候,我们可以允许它启动一条命令,或者执行一个脚本都可以。main C 在结束的时候也会执行一个STOP的命令,交代一下后事,这个过程中会有readiness和liveness的参与,readiness只有成功检测了。pod的状态才会ready或者running。当我们的主容器里面的进程和liveness中检测不一致时候,那么就可以执行对应的重启命令,或者删除。

01

gRPC的平滑关闭和在Kubernetes上的服务摘流方案总结

平滑关闭和服务摘流是保证部署了多节点的应用能够持续稳定对外提供服务的两个重要手段,平滑关闭保证了应用节点在关闭之前处理完已接收到的请求,以前在文章「学习用Go编写HTTP服务」里给大家介绍过怎么用net/http库提供的 http.ShutDown平滑关停HTTP 服务,今天再给大家介绍一下gRPC分布式服务的平滑关停方法。应用在进入平滑关闭阶段后拒绝为新进来的流量提供服务,如果此时继续有新流量访问而来,势必会让发送请求的客户端感知到服务的断开,所以在平滑关闭应用前我们还要对应用节点做摘流操作,保证网关不会再把新流量分发到要关闭的应用节点上才行。

02
领券