【问题标题】:AWS EKS Cluster Auto scaleAWS EKS 集群自动扩展
【发布时间】:2020-02-26 12:50:57
【问题描述】:

我的应用程序有一个 AWS EKS 集群 1.12 版本,我们在集群中部署了 6 个应用程序,一切正常,在创建节点时,我添加了一个自动缩放节点组,该节点组跨越可用区,最少 3 个和最多 6 个节点,因此所需的 3 个节点运行良好。

我有这样的场景: 当发生一些内存峰值时,我需要获得更多节点,正如我在自动缩放组最大节点中提到的那样,所以在集群设置时我没有添加集群自动缩放。 有人可以解决以下疑问

  1. 根据AWS documentation cluster auto scale,如果我们的节点组位于多个可用区,则不支持
  2. 如果我们需要根据 aws 文档创建多个节点组,如何提及最小最大节点,是否像整个集群一样?
  3. 如何实现内存指标的自动缩放,因为默认情况下这不会像 CPU 指标那样实现

【问题讨论】:

    标签: docker amazon-ec2 kubernetes autoscaling amazon-eks


    【解决方案1】:

    您应该为每个可用区创建一个节点组。因此,如果您的集群大小为 6 个节点,则在每个 AZ 中创建 2 个实例节点组。您还可以跨 AZ 分布 Pod 以实现高可用性。如果你看集群autoscaler documentation,它建议:

    集群自动扩缩器不支持跨越的 Auto Scaling 组 多个可用区;相反,您应该使用 Auto Scaling 为每个可用区分组并启用 --balance-similar-node-groups 功能。如果您确实使用跨多个可用区的单个 Auto Scaling 组,您会发现 AWS 意外终止节点而没有耗尽它们 因为重新平衡功能。

    我假设您想根据内存扩展 pod。为此,您必须使用度量服务器或 Prometheus 并创建一个基于内存扩展的 HPA。你可以找到working example here

    【讨论】:

      猜你喜欢
      • 2019-12-01
      • 1970-01-01
      • 2021-04-22
      • 1970-01-01
      • 2022-12-19
      • 2019-07-26
      • 2018-05-18
      • 2021-11-14
      • 2017-07-01
      相关资源
      最近更新 更多