【问题标题】:Kubernetes vs Google Container Engine: How to use autoscaling?Kubernetes vs Google Container Engine:如何使用自动缩放?
【发布时间】:2017-04-11 03:59:37
【问题描述】:

我已使用 Kubernetes 将应用部署到 Google Cloud Container Engine 集群。

我开始使用自动缩放,发现以下选项:

Kubernetes 水平 Pod 自动缩放 (HPA)

作为explained here,Kubernetes 为部署提供 HPA。根据docs

Horizo​​ntal Pod Autoscaling 根据观察到的 CPU 利用率自动扩展复制控制器、部署或副本集中的 pod 数量

谷歌云容器集群

现在我有一个使用 3 个实例并启用了自动缩放功能的 Google Cloud 容器集群。根据docs

Cluster Autoscaler 使用户能够自动调整集群大小,以便所有计划的 Pod 都有运行的地方。

这意味着我有两个地方可以定义我的自动缩放。因此我的问题是:

  • Pod 是否与集群中的 VM 实例相同,或者多个 Pod 可以在单个 VM 实例中运行?
  • 这两个参数是否相同(也就是在我的集群中创建/删除 VM 实例)。如果不是,他们之间的行为是什么?
  • 如果发生什么情况,例如我有许多介于 310 之间的 pod,以及一个实例数量介于 13 之间的集群,并且自动缩放开始了。何时以及如何缩放?

非常感谢!

【问题讨论】:

    标签: kubernetes google-kubernetes-engine autoscaling


    【解决方案1】:

    Pod 是否与集群中的 VM 实例相同,或者可以多个 Pod 在单个 VM 实例中运行?

    多个 Pod 可以运行同一个实例(在 kuberenetes 中称为节点)。您可以在部署 yaml 中定义 POD 消耗的最大资源。请参阅docs。这是自动扩缩的重要先决条件。

    这两个参数是否相同(也就是创建/删除 VM 我的集群中的实例)。如果不是,他们的行为是什么比较 彼此?

    Kubernetes 自动扩缩器将在您现有的节点中安排额外的 POD。 Google 自动扩缩器会将工作节点(新实例)添加到您的集群中。 Google 自动扩缩器会查看由于集群中没有空间而无法调度的排队 POD,当它发现这些 POD 时会添加节点。

    如果发生了什么,例如我有一些 3 到 10 之间的豆荚和一个 实例数在 1 到 3 之间的集群和自动缩放踢 in. 何时以及如何扩展?

    根据您为 Pod 定义的最大资源使用量,Google 自动扩缩器将估算运行所有排队的预定 Pod 需要多少新节点。

    另请阅读article

    【讨论】:

    • 非常感谢,这是很有价值的信息,仍然很难理解。我试试看!
    猜你喜欢
    • 2015-01-10
    • 2018-02-14
    • 1970-01-01
    • 2017-04-16
    • 2017-03-26
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    相关资源
    最近更新 更多