Mik*_* Me 2 kubernetes azure-aks
在我的 1 节点 AKS 中,我部署了多个作业资源(种类:作业),这些资源在任务完成后终止。我启用了 Cluster Autoscaler,以便在太多作业消耗第一个节点内存时添加第二个节点,但在由于内存不足而无法创建作业/pod 后,它会进行扩展。
在我的工作 yaml 中,我还定义了资源内存限制和请求。
是否可以将 Cluster Autoscaler 配置为在达到某个内存阈值(例如,节点内存的 70%)时主动横向扩展,而不仅仅是在无法部署作业/Pod 时?
在 Kubernetes 中,您可以找到 3 种自动缩放机制:水平 Pod 自动缩放器、垂直 Pod 自动缩放器,它们都可以通过指标使用和集群自动缩放器来控制。
\n根据集群自动缩放器文档:
\n\n\nCluster Autoscaler 是一种在满足以下条件之一时自动调整 Kubernetes 集群大小的工具:
\n\n
\n- 集群中有 pod 由于资源不足而无法运行。
\n- 集群中存在长期未充分利用的节点,它们的 Pod 可以放置在其他现有节点上。
\n
在AKS Cluster Autoscaler Documentation中,您可以找到CAKubernetes 组件的注释,而不是 AKS 特定的内容:
\n\n集群自动缩放器是 Kubernetes 组件。尽管 AKS 群集对节点使用虚拟机规模集,但请勿在 Azure 门户中或使用 Azure CLI 手动启用或编辑规模集自动缩放设置。让 Kubernetes 集群自动缩放程序管理所需的缩放设置。
\n
在Azure 文档 - 关于群集自动缩放程序中,您了解 AKS 群集可以通过以下两种方式之一进行缩放:
\n\n\n监视
\ncluster autoscaler由于资源限制而无法在节点上调度的 Pod。然后集群会自动增加节点数量。使用
\nhorizontal pod autoscalerKubernetes 集群中的 Metrics Server 来监控 Pod 的资源需求。如果应用程序需要更多资源,Pod 数量会自动增加以满足需求。
AKS您可以稍微调整一下以Autoscaler Profile更改一些默认值。可以在使用自动缩放器配置文件中找到更多详细信息
我建议您阅读了解 Kubernetes 集群自动缩放文章,其中解释了CA其工作原理。在部分下Limitations您有信息:
\n\n集群自动缩放程序不考虑实际的CPU/GPU/内存使用情况,只考虑资源请求和限制。大多数团队在 Pod 级别过度配置,因此在实践中我们会看到激进的升级和保守的缩减。
\n
Cluster Autoscaler不考虑实际资源使用情况。CA缩减或升级可能需要几分钟,具体取决于云提供商。
| 归档时间: |
|
| 查看次数: |
3155 次 |
| 最近记录: |