托管节点更新行为 - Amazon EKS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

托管节点更新行为

当您将托管节点组版本更新为适用于节点组 Kubernetes 版本的最新 AMI 发行版时,或者更新到较新的 Kubernetes 版本以匹配集群时,Amazon EKS 会自动完成以下任务:

  1. 为与您节点组关联的 Auto Scaling 组创建新 Amazon EC2 启动模板。新模板使用更新的目标 AMI。

  2. 更新 Auto Scaling 组以使用具有新 AMI 的最新启动模板。

  3. 将 Auto Scaling 组的最大大小和所需大小增加一倍,最多是部署 Auto Scaling 组的区域中可用区数量的两倍。这可确保在部署节点组的区域中的每个可用区中至少有一个新实例出现。

  4. 检查节点组中的节点中的eks.amazonaws.com/nodegroup-image标签,并应用eks.amazonaws.com/nodegroup=unschedulable:NoSchedule影响节点组中未使用最新 AMI ID 标记的所有节点。这样可以防止已从以前失败的更新进行了更新的节点受到影响。

  5. 随机选择节点组中的一个节点,并从该节点中删除所有窗格。

  6. 删除所有容器后,将节点锁定。这样做是为了使服务控制器不会向此节点发送任何新请求,并将此节点从其运行状况良好的活动节点列表中删除。

  7. 向锁定节点的 Auto Scaling 组发送终止请求。

  8. 重复步骤 5-7,直到节点组中没有使用早期版本的启动模板部署的节点。

  9. 将 Auto Scaling 组的最大大小和所需大小减少 1,以返回到更新前的值。