【问题标题】:Move all pods to same node after scaling down in AKS在 AKS 中缩减后将所有 pod 移动到同一节点
【发布时间】:2021-07-23 11:29:33
【问题描述】:

我们在 AKS 中有一个部署,我们在晚上将其缩减为 3 个,早上最多为 9 个。

一个节点上只有 3 个 pod 的资源。所以早上 AKS 应该创建 2 个新节点。

但是发生的情况是,晚上的缩减有时会杀死每个节点上的 2 个 pod,以保持 3 个运行节点和 1 个 pod。有时 2 个节点,1 个有 1 个 pod,1 个有 2 个 pod。

我们想要的是在晚上运行 1 个节点和 3 个 pod。

我们怎样才能做到这一点?

【问题讨论】:

  • 我相信您可以使用带有一个节点的附加节点池和为该节点池指定的节点选择器进行附加部署来实现这一目标。晚上,您扩大了额外的部署并缩小了主要部署,并且它的节点池为零。第二天早上你做相反的事情。

标签: kubernetes azure-aks


【解决方案1】:

你检查过Cluster Autoscaler吗?从理论上讲,这可以帮助实现您的要求?

Cluster Autoscaler 是一个独立的程序,可以调整 Kubernetes集群来满足当前的需求。

Cluster Autoscaler 是一个自动调整大小的工具 当下列条件之一为真时,Kubernetes 集群:

  • 由于资源不足,集群中有 pod 运行失败。
  • 集群中存在长时间未充分利用的节点,它们的 pod 可以放置在其他现有的 节点。

为什么是这个自动缩放器或How is Cluster Autoscaler different from CPU-usage-based node autoscalers

Cluster Autoscaler 确保集群中的所有 pod 都有一个 运行的地方,无论是否有任何 CPU 负载。 此外,它 尝试确保集群中没有不需要的节点。

基于 CPU 使用(或任何基于指标)的集群/节点组自动扩缩器 放大和缩小时不要关心豆荚。结果,他们可能 添加一个没有任何 Pod 的节点,或者删除一个有一些 Pod 的节点 系统关键的 pod,比如 kube-dns。这些自动缩放器的使用 不鼓励使用 Kubernetes。

查看cluster-autoscaler aks addon example

【讨论】:

    猜你喜欢
    • 2019-06-09
    • 2020-09-04
    • 2020-04-02
    • 1970-01-01
    • 2022-11-21
    • 1970-01-01
    • 2023-02-01
    • 2020-02-06
    • 2019-01-21
    相关资源
    最近更新 更多