【问题标题】:HPA scale deployment to 0 on GKEGKE 上的 HPA 将部署扩展到 0
【发布时间】:2020-10-06 06:33:10
【问题描述】:

我正在尝试将 HPA 与外部指标一起使用以将部署缩减到 0。我正在使用版本为 1.16.9-gke.2 的 GKE。

根据this,我认为它会起作用,但事实并非如此。我还在面对:The HorizontalPodAutoscaler "classifier" is invalid: spec.minReplicas: Invalid value: 0: must be greater than or equal to 1

以下是我的 HPA 定义:

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: classifier
spec:
  minReplicas: 0
  maxReplicas: 15
  metrics:
  - external:
      metricName: loadbalancing.googleapis.com|https|request_count
      targetAverageValue: "1"
    type: External
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: classifier

非常感谢您的帮助!

【问题讨论】:

    标签: kubernetes google-kubernetes-engine autoscaling kubernetes-deployment hpa


    【解决方案1】:

    根据this,我认为它会起作用,但事实并非如此。

    某些功能在 Kubernetes 中运行的事实并不意味着它们在托管解决方案中启用,例如 GKE

    此功能由名为 HPAScaleToZero功能门启用。自 Kubernetes 1.16 版以来,它处于 Alpha 状态。根据下面的链接,默认情况下它是禁用的。 请在此处查看有关功能门的官方文档:Kubernetes.io: Docs: Feature Gates

    更进一步:

    Kubernetes 中的新功能被列为 Alpha、Beta 或 Stable,具体取决于它们的开发状态。在大多数情况下,列为 Beta 或 Stable 的 Kubernetes 功能都包含在 GKE 中

    Cloud.google.com: Kubernetes Engine: Kubernetes versions and features

    如您所见:

    The HorizontalPodAutoscaler "classifier" is invalid: spec.minReplicas: Invalid value: 0: must be greater than or equal to 1

    此功能在“标准”GKE 集群中被禁用。


    可以选择启用 HPAScaleToZero。这需要运行 alpha 集群:

    术语 alpha 集群意味着无论集群运行的 Kubernetes 版本如何,都为 Kubernetes 和 GKE 启用了 alpha API。 Google 会定期为客户提供测试和验证不普遍可用的 GKE 版本的能力。

    Cloud.google.com: Kubernetes Engine: Alpha clusters

    请记住,运行 alpha 集群有一些缺点:

    限制

    Alpha 集群有以下限制:

    • GKE SLA 未涵盖
    • 无法升级
    • 在 alpha 集群上禁用节点自动升级和自动修复
    • 30 天后自动删除
    • 不接收安全更新
    猜你喜欢
    • 1970-01-01
    • 2020-03-03
    • 2019-11-20
    • 2021-01-11
    • 1970-01-01
    • 2021-11-26
    • 2020-07-07
    • 2011-08-16
    • 2020-02-20
    相关资源
    最近更新 更多