AWS EKS - 节点组更新实例类型

Edc*_*sta 5 amazon-web-services kubernetes amazon-eks

我目前有一个使用 AWS EKS 的 Kubernetes 应用程序。我还创建了节点组;最初我在那个 nodeGroup 上配置的低实例容量只能处理 4 个 pod。当我尝试在我的部署上推出更新时,发生了 Pod 不足的错误,这主要是由于我最初提供的容量不足的实例类型。我的问题是否可以更新实时 nodeGroup 实例类型?

我通过创建具有扩展实例类型的额外节点组解决了这个问题。我只是想知道是否可以编辑实时节点组实例类型以进行扩展。

Kor*_*ics 12

可以通过应用新的启动模板版本来更改实例类型。然而,由于任何与节点相关的更改本质上都是不可变的,请注意,这实际上会创建新的 EC2 实例并删除旧的实例(取决于用例),并且不会更改现有节点上的实例类型。EKS 节点组本质上是 EC2 自动扩展组,它使用启动模板来扩展和缩减节点。此外,启动模板定义了实例类型。因此,通过定义新的启动模板,任何将启动的新节点都将使用新的实例类型(另外,如果节点数量没有改变,则可以通过滚动更新来执行更改,以最大程度地减少影响到集群)。在 AWS 控制台中更新的步骤:

  1. 导航到 EC2 服务下的 Auto Scaling 组
  2. 找到该节点组的弹性伸缩组对应的启动模板
  3. 通过选择操作 - 修改模板(创建新版本)来创建新版本 这将采用现有模板,因此仅需要修改实例类型。
  4. 通过单击操作 - 设置默认版本来设置启动模板的默认版本
  5. 应用更改
    • 节点数量保持不变:
      • 打开弹性伸缩组

      • 单击开始实例刷新

      • 设置适当的最小健康百分比和实例预热

        实例刷新会替换实例。每个实例都会先终止,然后再替换,这会暂时减少 Auto Scaling 组内的可用容量。了解更多

        如果只有一个节点,则可以暂时将刷新过程扩展到 2 个节点,以便能够重新安排从正在刷新的节点中逐出的工作负载。

    • 节点数量减少:
      • 节点组可以通过 缩小eksctl scale nodegroup。但请记住,这将终止节点组中的所有实例,并根据更新的启动模板创建新实例。
    • 节点数量增加:
      • 节点组可以通过 进行扩展eksctl scale nodegroup。将创建的新实例将基于更新的启动模板。

参考截图


Yar*_*dan 6

EKS 节点组实例类型在创建后无法更改。每次需要新的实例类型时,您都必须创建一个新的节点组。