Pod 原地垂直伸缩
Pod 垂直 伸缩
2023-09-14 09:15:21 时间
该提案旨在允许 Pod 资源 requests 和 limits 的原地更新,而不需要重新启动 Pod 或其容器,该方案的核心思想是让 PodSpec 的 Resources 是可变的,表示所需的资源,此外 扩展 PodStatus
来反映分配给 Pod 的资源,并提供有关应用于 Pod 及其容器的实际资源信息。
此外该提案还提出了改进容器运行时接口(CRI)API,以便在运行时管理容器的 CPU 和内存资源配置,尝试扩展 UpdateContainerResources
这个 CRI API,使其适用于 Windows 和除 Linux 之外的其他未来的运行时。它还需求扩展 ContainerStatus CRI API
,以允许 Kubelet 能够发现当前配置在容器上的资源。
原因
由于各种原因,分配给 Pod 的容器资源可能需要变更比,这种场景有很多:
☑ 如 Pod 处理的负载大幅增加,而目前的资源不足了
☑ 又或者说负载大幅减少了,而分配的资源未被使用
☑ 资源配置不合理
目前,更改资源分配是需要重新创建 Pod 的,因为 PodSpec 的容器资源是不可改变的。 虽然许多无状态的工作负载被设计成可以承受这样的中断,但有些工作负载更加敏感,特别是在使用低数量的 Pod 副本时。
此外,对于有状态或批处理的工作负载,Pod 重启是一个严重的破坏行为,会导致工作负载可用性降低或运行成本提高。
允许在不重新创建 Pod
相关文章
- 有关于Kubernetes中影响Pod调度的问题
- Kubernetes小技巧关于节点pod ip node数量规划
- Pod 生命周期、重启策略、健康检查、服务可用性检查
- 指定pod运行在固定节点
- Pod 的 init Containers
- Pod 的 Service 介绍
- Pod 的存储之Secret
- K8s client-go watch pod
- K8s中Pod健康检测和服务可用性检查Demo(LivenessProbe+ReadinessProbe)
- 使用 Kubectl 获取 Pod 日志的小技巧
- 重定向Kubernetes pod中的tcpdump输出
- kubernetes-pod详解(一)
- K8S Pod流量的优雅无损切换实践
- 两张思维导图,帮你理清 K8s 中 Pod 的 phase 和 conditions
- 捷德收购全球物联网专家 Pod 集团,扩大连接产品组合