【问题标题】:Autoscaling in Google Container EngineGoogle Container Engine 中的自动缩放
【发布时间】:2015-01-10 01:28:52
【问题描述】:

我了解容器引擎目前处于 alpha 阶段,尚未完成。

从文档中我假设 Pod 还没有自动缩放(例如,取决于 CPU 负载),对吗?我希望能够将复制控制器配置为在平均 CPU 负载达到定义的阈值时自动添加 pod(和 VM 实例)。

这是近期路线图上的某个地方吗?

或者是否可以为此使用 Compute Engine Autoscaler? (如果有,怎么做?)

【问题讨论】:

    标签: kubernetes google-kubernetes-engine


    【解决方案1】:

    随着我们努力发布 Beta 版,我们肯定会考虑集成 Google Compute Engine AutoScaler。

    实际上有两种不同的缩放方式:

    1. 根据集群中的容器数量增加/减少集群中工作节点的数量
    2. 向上和向下扩展 pod。

    由于 Kubernetes 也是一个 OSS 项目,我们还想添加一个可以扩展复制控制器的 Kubernetes 原生自动扩缩器。这绝对是路线图上的内容。我希望我们实际上会有多个自动缩放器实现,因为它可能是非常特定于应用程序的......

    【讨论】:

    • 这是否包括卷的自动缩放?我没有在文档中看到您可以使用 kubernetes 扩展卷。卷扩展如何工作?我正在考虑完全自动缩放数据库。
    • 自动缩放器/sizers 的工作进展到什么程度了?你预计它什么时候可以使用?
    • 我听说你可以使用 Kubernetes 来自动扩展,但不确定如何。
    【解决方案2】:

    Kubernetes 自动缩放:http://kubernetes.io/docs/user-guide/horizontal-pod-autoscaling/

    kubectl 命令:http://kubernetes.io/docs/user-guide/kubectl/kubectl_autoscale/

    示例: kubectl autoscale deployment foo --min=2 --max=5 --cpu-percent=80

    【讨论】:

      【解决方案3】:

      您可以使用 kubectl autoscale 自动扩展您的部署。

      自动缩放实际上是当您希望根据需要自动修改 pod 的数量时。

      kubectl autoscale deployment task2deploy1 –cpu-percent=50 –min=1 –max=10
      
      kubectl get deployment task2deploy1
      

      指定当前可用的最新年龄

      task2deploy1 1 1 1 1 49s

      随着资源消耗的增加,pod 的数量将会增加,并且会超过您在 deployment.yaml 文件中指定的 pod 数量,但始终小于 kubectl autoscale 命令中指定的最大 pod 数量。

      kubectl get deployment task2deploy1
      

      指定当前可用的最新年龄

      task2deploy1 7 7 7 3 4m

      同样,随着资源消耗的减少,Pod 的数量会减少,但不会少于 kubectl autoscale 命令中指定的最小 Pod 数量。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-25
        • 2017-04-16
        • 1970-01-01
        • 2022-12-13
        • 2017-12-24
        • 1970-01-01
        • 2016-04-12
        • 2020-09-30
        相关资源
        最近更新 更多