- N +

pod容器能接受qps(pod中的容器)

pod容器能接受qps(pod中的容器)原标题:pod容器能接受qps(pod中的容器)

导读:

k8s服务优雅退出1、K8S首先启动新的POD S等待新的POD进入Ready状态 K8S创建Endpoint,将新的POD纳入负载均衡 K8S移除与老POD相关的Endpo...

k8s服务优雅退出

1、K8S首先启动新的Pod S等待新的POD进入Ready状态 K8S创建Endpoint,将新的pod纳入负载均衡 K8S移除与老POD相关的Endpoint,并且将老POD状态设置为Terminating,此时将不会有新的请求到达老POD 同时 K8S 会给老POD发送SIGTERM信号,并且等待 terminationGrACEPeriodSeconds 这么长的时间

2、Prestop Hook:通过信号量关闭 spring Boot 程序确保在 Pod 被删除前执行一些清理操作。terminationGracePeriodSeconds:设置宽限期,如 40s,以确保应用在宽限期内能够正常结束如果宽限期超过,Kubelet 会强行关闭该 Pod。

3、通知用户系统即将关闭,以保存工作并退出。 自动保存所有状态,并在下次启动时恢复停止接收定时任务和 MQ 消息,等待完成。实现优雅停机时,需要关注容器管理工具(如 docker)的演变到 kubernetes(K8s),带来更多的停机点和挑战

Pod的扩缩容

1、进一步,我们需要安装资源占用查看插件,对metrics-server-components.yaml文件进行适当调整,确保兼容性。安装插件并确认成功后,使用`top`命令观察资源使用情况为了测试压力,我们创建一个服务,模拟并发请求,观察到资源负载激增后,HPA自动将Pod数量扩至5个。停止测试后,缩容可能会在一段时间后自行进行。

pod容器能接受qps(pod中的容器)

2、系统会假设这些Pod在需要缩容(Scale Down)时消耗了期望指标值的100%,在需要扩容(Scale Up)时消耗了期望指标值的0%,这样可以抑制潜在的扩缩容操作。

3、HPA与VPA是Kubernetes环境用于Pod资源管理的两种自动化扩缩容工具。HPA: 功能主要负责Pod的水平扩展,即根据Pod的负载变化自动调整deployment的副本数量。 数据源:依赖于Metrics Server来获取Pod的资源指标数据,每15秒更新一次。 应用场景:适用于需要根据负载动态调整Pod数量的场景,以保持服务的稳定运行

4、在实际项目中,业务应用的动态扩缩容是关键需求,手动操作无法满足自动化需求。Kubernetes 提供的资源对象 Horizontal Pod Autoscaling(HPA)解决了这一问题。HPA 通过监控分析控制器控制的所有 Pod 的负载变化情况来确定是否需要调整 Pod 的副本数量,实现动态扩缩容。

5、Deployment在Kubernetes V2版本引入,用于更高效地解决服务编排问题。Deployment通过管理ReplicaSet间接管理Pod,功能比ReplicaSet更强大。创建Deployment时,可参考其资源清单文件,实现Pod的扩缩容、镜像更新,并支持两种更新策略:重建更新和滚动更新。

6、Deployment的部署过程可以通过编辑YAML文件或使用命令行操作实现。在创建和更新Deployment时,系统会自动创建和管理ReplicaSet,控制Pod的扩缩容和版本更新。监控与验证:Deployment不仅关注Pod的生命周期管理,还提供了监控和验证更新是否成功的工具。

返回列表
上一篇:
下一篇: