Kubernetes 弹性伸缩与镜像构建全解析
1. 垂直 Pod 自动伸缩(VPA)
1.1 VPA 的自动更新模式
在自动更新模式下,VPA 除了为新创建的 Pod 生成并应用资源推荐外,还会激活其更新组件。该组件会驱逐与标签选择器匹配的正在运行的 Pod,之后 VPA 准入插件组件会重新创建这些 Pod,并更新其资源请求。不过,这种方式会重启所有 Pod 来强制应用推荐,可能导致意外的调度问题,是最具破坏性的方法。
1.2 VPA 面临的挑战
Kubernetes 设计用于管理具有不可变 Pod 规范定义的不可变容器,这虽然简化了水平扩展,但给垂直扩展带来了挑战,例如需要删除和重新创建 Pod,可能影响调度并导致服务中断。此外,VPA 和 HPA 共存时,由于这两个自动伸缩器目前无法感知彼此,可能会导致意外行为,如出现双重缩放的情况。
2. 集群自动伸缩(CA)
2.1 CA 的作用与原理
云计算的一个原则是按需付费使用资源。CA 可以与运行 Kubernetes 的云提供商交互,在高峰时段请求额外节点,在其他时段关闭空闲节点,从而降低基础设施成本。与 HPA 和 VPA 进行 Pod 级别的扩展不同,CA 提供节点可扩展性,以确保集群容量的弹性。
2.2 CA 的使用条件
CA 是一个 Kubernetes 插件,需要开启并配置节点的最小和最大数量。它只能在支持按需供应和停用节点且支持 Kubernetes CA 的云计算基础设施上运行,如 AWS、Microsoft Azure 或 Google Compute Engine。 </
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



