集群自动伸缩
Kubernetes 要求集群中的 节点 运行 Pod。这意味着为工作负载 Pod 和 Kubernetes 本身提供容量。
您可以自动调整集群中可用资源的数量:节点自动伸缩。您可以更改节点数量,也可以更改节点提供的容量。第一种方法称为横向伸缩,第二种方法称为纵向伸缩。
Kubernetes 甚至可以为节点提供多维自动伸缩。
手动节点管理
您可以手动管理节点级容量,您可以在其中配置固定数量的节点;即使这些节点的预配(设置、管理和停用的过程)是自动化的,您也可以使用这种方法。
此页面介绍了下一步,以及自动管理集群中可用节点容量(CPU、内存和其他节点资源)的数量。
自动横向伸缩
集群自动伸缩器
您可以使用 集群自动伸缩器 自动管理节点的规模。集群自动伸缩器可以与云提供商或 Kubernetes 的 集群 API 集成,以实现所需的实际节点管理。
集群自动伸缩器在存在不可调度 Pod 时添加节点,并在这些节点为空时删除节点。
云提供商集成
集群自动伸缩器的 README 列出了一些可用的云提供商集成。
成本感知多维伸缩
Karpenter
Karpenter 支持直接节点管理,通过与特定云提供商集成的插件,可以为您管理节点,同时优化整体成本。
Karpenter 自动启动恰好能够处理您的集群应用程序的计算资源。它旨在让您充分利用云,为 Kubernetes 集群提供快速且简单的计算预配。
Karpenter 工具旨在与提供 API 驱动的服务器管理的云提供商集成,并且可以通过 Web API 获取可用服务器的价格信息。
例如,如果您在集群中启动了更多 Pod,Karpenter 工具可能会购买一个比您正在使用的节点更大的新节点,然后在新节点投入使用后关闭现有节点。
云提供商集成
在 Karpenter 的核心和以下云提供商之间存在可用的集成
相关组件
Descheduler
descheduler 可以帮助您将 Pod 整合到更少的节点上,从而在集群有空间容量时帮助自动缩减规模。
根据集群大小调整工作负载大小
集群比例自动伸缩器
对于需要根据集群大小进行伸缩的工作负载(例如 cluster-dns
或其他系统组件),您可以使用 集群比例自动伸缩器。
集群比例自动伸缩器会监视可调度节点和内核的数量,并相应地扩展目标工作负载的副本数量。
集群比例垂直自动伸缩器
如果副本数量应该保持不变,您可以使用 集群比例垂直自动伸缩器 根据集群大小垂直扩展工作负载。该项目处于测试阶段,可以在 GitHub 上找到。
集群比例自动伸缩器会扩展工作负载的副本数量,而集群比例垂直自动伸缩器会根据集群中的节点和/或内核数量调整工作负载的资源请求(例如部署或 DaemonSet)。
下一步
- 了解有关 工作负载级自动伸缩 的信息
此页面上的项目指的是提供 Kubernetes 所需功能的第三方产品或项目。Kubernetes 项目作者不负责这些第三方产品或项目。有关更多详细信息,请参阅 CNCF 网站指南。
在提出添加额外的第三方链接的更改之前,您应该阅读 内容指南。