Amazon EKS のマネージドノードグループが新しくアップグレード戦略に最小限の更新戦略サポートしました
こんにちは!クラウド事業本部コンサルティング部のたかくに(@takakuni_)です。
少し前ですが、Amazon EKS のマネージドノードグループが新しくアップグレード戦略に最小限の更新戦略サポートしました。
更新戦略
従来、 Kubernetes のバージョンアップには、以下のようにノードの交換が行われていました。
このケースの場合、GPU インスタンスだとそもそも交換用のノードが立ち上がらない、リザーブドインスタンスだと若干ではあるが、オンデマンドの料金が発生する可能性があります。
このように利用可能なリソースに限りがある場合に、今回の最小限の更新戦略が利用できます。
最小限の更新戦略
最小限の更新戦略はマネージドノードグループの新しい更新戦略の 1 つです。
利用不可能なノードの最大数を定義し、最大数までアップグレードが必要なノードの封鎖(およびポッドの排出)を行います。
ポッドの排出が完了したら 60 秒間待機し、ノードの削除を行います。削除後、新しくノードが立ち上がり置き換えが完成します。
以降は、アップグレードが必要なノード分、上記を繰り返します。
やってみた
今回は 3 AZ にノードを配置して、最小限の更新戦略を試してみます。
kubectl get nodes --show-labels -w
NAME STATUS ROLES AGE VERSION LABELS
ip-10-0-1-152.ap-northeast-1.compute.internal Ready <none> 99m v1.30.8-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=t3.medium,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-097012eb8db992f63,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,failure-domain.beta.kubernetes.io/region=ap-northeast-1,failure-domain.beta.kubernetes.io/zone=ap-northeast-1a,k8s.io/cloud-provider-aws=25a25fa4b0fdeb549b6d3f0ef3476e4d,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-1-152.ap-northeast-1.compute.internal,kubernetes.io/os=linux,node.kubernetes.io/instance-type=t3.medium,topology.k8s.aws/zone-id=apne1-az4,topology.kubernetes.io/region=ap-northeast-1,topology.kubernetes.io/zone=ap-northeast-1a
ip-10-0-2-158.ap-northeast-1.compute.internal Ready <none> 99m v1.30.8-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=t3.medium,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-097012eb8db992f63,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,failure-domain.beta.kubernetes.io/region=ap-northeast-1,failure-domain.beta.kubernetes.io/zone=ap-northeast-1c,k8s.io/cloud-provider-aws=25a25fa4b0fdeb549b6d3f0ef3476e4d,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-2-158.ap-northeast-1.compute.internal,kubernetes.io/os=linux,node.kubernetes.io/instance-type=t3.medium,topology.k8s.aws/zone-id=apne1-az1,topology.kubernetes.io/region=ap-northeast-1,topology.kubernetes.io/zone=ap-northeast-1c
ip-10-0-3-95.ap-northeast-1.compute.internal Ready <none> 99m v1.30.8-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=t3.medium,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-097012eb8db992f63,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,failure-domain.beta.kubernetes.io/region=ap-northeast-1,failure-domain.beta.kubernetes.io/zone=ap-northeast-1d,k8s.io/cloud-provider-aws=25a25fa4b0fdeb549b6d3f0ef3476e4d,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-3-95.ap-northeast-1.compute.internal,kubernetes.io/os=linux,node.kubernetes.io/instance-type=t3.medium,topology.k8s.aws/zone-id=apne1-az2,topology.kubernetes.io/region=ap-northeast-1,topology.kubernetes.io/zone=ap-northeast-1d
更新戦略の変更
更新戦略はマネージドノードグループの設定値です。デフォルトでは 33% のデフォルト更新戦略が設定されています。
編集をクリックすると更新戦略と利用不可能なノードの最大数が変更できます。今回はイメージつきやすくするために、利用不可能なノードの最大数は 1 に設定しました。
更新が完了したら、クラスター/ノードグループのバージョンアップに移ります。
EKS クラスターのアップグレード
まずは EKS クラスターのアップグレードです。今回は v1.30 から v1.31 にアップグレードします。
10 分ほど経過したのちにアップグレードが完了しました。
ノードの置き換え
本題のノードの置き換えです。 AMI release version の更新を行います。更新前のノードは以下の 3 台です。
10.0.1.152
10.0.2.158
10.0.3.95
kubectl get nodes --show-labels -w | tee -a node-labels.log
でログをとっておきました。ログの中身を見てみましょう。
スケジューリングの廃止
まず、すべてのノードで新しい Pod の配置が停止されます。(SchedulingDisabled
)
NAME STATUS ROLES AGE VERSION LABELS
ip-10-0-1-152.ap-northeast-1.compute.internal Ready <none> 99m v1.30.8-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=t3.medium,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-097012eb8db992f63,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,failure-domain.beta.kubernetes.io/region=ap-northeast-1,failure-domain.beta.kubernetes.io/zone=ap-northeast-1a,k8s.io/cloud-provider-aws=25a25fa4b0fdeb549b6d3f0ef3476e4d,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-1-152.ap-northeast-1.compute.internal,kubernetes.io/os=linux,node.kubernetes.io/instance-type=t3.medium,topology.k8s.aws/zone-id=apne1-az4,topology.kubernetes.io/region=ap-northeast-1,topology.kubernetes.io/zone=ap-northeast-1a
ip-10-0-2-158.ap-northeast-1.compute.internal Ready <none> 99m v1.30.8-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=t3.medium,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-097012eb8db992f63,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,failure-domain.beta.kubernetes.io/region=ap-northeast-1,failure-domain.beta.kubernetes.io/zone=ap-northeast-1c,k8s.io/cloud-provider-aws=25a25fa4b0fdeb549b6d3f0ef3476e4d,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-2-158.ap-northeast-1.compute.internal,kubernetes.io/os=linux,node.kubernetes.io/instance-type=t3.medium,topology.k8s.aws/zone-id=apne1-az1,topology.kubernetes.io/region=ap-northeast-1,topology.kubernetes.io/zone=ap-northeast-1c
ip-10-0-3-95.ap-northeast-1.compute.internal Ready <none> 99m v1.30.8-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=t3.medium,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-097012eb8db992f63,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,failure-domain.beta.kubernetes.io/region=ap-northeast-1,failure-domain.beta.kubernetes.io/zone=ap-northeast-1d,k8s.io/cloud-provider-aws=25a25fa4b0fdeb549b6d3f0ef3476e4d,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-3-95.ap-northeast-1.compute.internal,kubernetes.io/os=linux,node.kubernetes.io/instance-type=t3.medium,topology.k8s.aws/zone-id=apne1-az2,topology.kubernetes.io/region=ap-northeast-1,topology.kubernetes.io/zone=ap-northeast-1d
ip-10-0-1-152.ap-northeast-1.compute.internal Ready,SchedulingDisabled <none> 100m v1.30.8-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=t3.medium,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-097012eb8db992f63,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,failure-domain.beta.kubernetes.io/region=ap-northeast-1,failure-domain.beta.kubernetes.io/zone=ap-northeast-1a,k8s.io/cloud-provider-aws=25a25fa4b0fdeb549b6d3f0ef3476e4d,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-1-152.ap-northeast-1.compute.internal,kubernetes.io/os=linux,node.kubernetes.io/instance-type=t3.medium,topology.k8s.aws/zone-id=apne1-az4,topology.kubernetes.io/region=ap-northeast-1,topology.kubernetes.io/zone=ap-northeast-1a
ip-10-0-2-158.ap-northeast-1.compute.internal Ready,SchedulingDisabled <none> 100m v1.30.8-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=t3.medium,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-097012eb8db992f63,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,failure-domain.beta.kubernetes.io/region=ap-northeast-1,failure-domain.beta.kubernetes.io/zone=ap-northeast-1c,k8s.io/cloud-provider-aws=25a25fa4b0fdeb549b6d3f0ef3476e4d,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-2-158.ap-northeast-1.compute.internal,kubernetes.io/os=linux,node.kubernetes.io/instance-type=t3.medium,topology.k8s.aws/zone-id=apne1-az1,topology.kubernetes.io/region=ap-northeast-1,topology.kubernetes.io/zone=ap-northeast-1c
ip-10-0-3-95.ap-northeast-1.compute.internal Ready,SchedulingDisabled <none> 100m v1.30.8-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=t3.medium,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-097012eb8db992f63,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,failure-domain.beta.kubernetes.io/region=ap-northeast-1,failure-domain.beta.kubernetes.io/zone=ap-northeast-1d,k8s.io/cloud-provider-aws=25a25fa4b0fdeb549b6d3f0ef3476e4d,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-3-95.ap-northeast-1.compute.internal,kubernetes.io/os=linux,node.kubernetes.io/instance-type=t3.medium,topology.k8s.aws/zone-id=apne1-az2,topology.kubernetes.io/region=ap-northeast-1,topology.kubernetes.io/zone=ap-northeast-1d
ノードが NotReady に変化
続いて、10.0.1.152
のノードが置き換え対象に変化します。(NotReady,SchedulingDisabled
)
ip-10-0-1-152.ap-northeast-1.compute.internal Ready,SchedulingDisabled <none> 101m v1.30.8-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=t3.medium,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-097012eb8db992f63,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,failure-domain.beta.kubernetes.io/region=ap-northeast-1,failure-domain.beta.kubernetes.io/zone=ap-northeast-1a,k8s.io/cloud-provider-aws=25a25fa4b0fdeb549b6d3f0ef3476e4d,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-1-152.ap-northeast-1.compute.internal,kubernetes.io/os=linux,node.kubernetes.io/exclude-from-external-load-balancers=true,node.kubernetes.io/instance-type=t3.medium,topology.k8s.aws/zone-id=apne1-az4,topology.kubernetes.io/region=ap-northeast-1,topology.kubernetes.io/zone=ap-northeast-1a
新しいノードが起動
10.0.1.152
の置き換えに並行して 10.0.1.44
が起動(NotReady
)し、Ready
となりました。
ip-10-0-1-44.ap-northeast-1.compute.internal NotReady <none> 14s v1.31.4-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=t3.medium,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-04ce8fd593aa7d829,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,failure-domain.beta.kubernetes.io/region=ap-northeast-1,failure-domain.beta.kubernetes.io/zone=ap-northeast-1a,k8s.io/cloud-provider-aws=25a25fa4b0fdeb549b6d3f0ef3476e4d,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-1-44.ap-northeast-1.compute.internal,kubernetes.io/os=linux,node.kubernetes.io/instance-type=t3.medium,topology.k8s.aws/zone-id=apne1-az4,topology.kubernetes.io/region=ap-northeast-1,topology.kubernetes.io/zone=ap-northeast-1a
ip-10-0-1-44.ap-northeast-1.compute.internal Ready <none> 22s v1.31.4-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=t3.medium,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-04ce8fd593aa7d829,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,failure-domain.beta.kubernetes.io/region=ap-northeast-1,failure-domain.beta.kubernetes.io/zone=ap-northeast-1a,k8s.io/cloud-provider-aws=25a25fa4b0fdeb549b6d3f0ef3476e4d,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-1-44.ap-northeast-1.compute.internal,kubernetes.io/os=linux,node.kubernetes.io/instance-type=t3.medium,topology.k8s.aws/zone-id=apne1-az4,topology.kubernetes.io/region=ap-northeast-1,topology.kubernetes.io/zone=ap-northeast-1a
以降のログを見ると、 10.0.2.158
から 10.0.2.5
、10.0.3.95
から 10.0.3.223
へ 1 つずつノードの置き代わりが発生していますね。
ip-10-0-2-158.ap-northeast-1.compute.internal Ready,SchedulingDisabled <none> 103m v1.30.8-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=t3.medium,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-097012eb8db992f63,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,failure-domain.beta.kubernetes.io/region=ap-northeast-1,failure-domain.beta.kubernetes.io/zone=ap-northeast-1c,k8s.io/cloud-provider-aws=25a25fa4b0fdeb549b6d3f0ef3476e4d,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-2-158.ap-northeast-1.compute.internal,kubernetes.io/os=linux,node.kubernetes.io/exclude-from-external-load-balancers=true,node.kubernetes.io/instance-type=t3.medium,topology.k8s.aws/zone-id=apne1-az1,topology.kubernetes.io/region=ap-northeast-1,topology.kubernetes.io/zone=ap-northeast-1c
ip-10-0-2-5.ap-northeast-1.compute.internal NotReady <none> 0s v1.31.4-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-04ce8fd593aa7d829,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-2-5.ap-northeast-1.compute.internal,kubernetes.io/os=linux
ip-10-0-2-5.ap-northeast-1.compute.internal Ready <none> 22s v1.31.4-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=t3.medium,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-04ce8fd593aa7d829,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,failure-domain.beta.kubernetes.io/region=ap-northeast-1,failure-domain.beta.kubernetes.io/zone=ap-northeast-1c,k8s.io/cloud-provider-aws=25a25fa4b0fdeb549b6d3f0ef3476e4d,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-2-5.ap-northeast-1.compute.internal,kubernetes.io/os=linux,node.kubernetes.io/instance-type=t3.medium,topology.k8s.aws/zone-id=apne1-az1,topology.kubernetes.io/region=ap-northeast-1,topology.kubernetes.io/zone=ap-northeast-1c
ip-10-0-3-95.ap-northeast-1.compute.internal NotReady,SchedulingDisabled <none> 108m v1.30.8-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=t3.medium,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-097012eb8db992f63,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,failure-domain.beta.kubernetes.io/region=ap-northeast-1,failure-domain.beta.kubernetes.io/zone=ap-northeast-1d,k8s.io/cloud-provider-aws=25a25fa4b0fdeb549b6d3f0ef3476e4d,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-3-95.ap-northeast-1.compute.internal,kubernetes.io/os=linux,node.kubernetes.io/exclude-from-external-load-balancers=true,node.kubernetes.io/instance-type=t3.medium,topology.k8s.aws/zone-id=apne1-az2,topology.kubernetes.io/region=ap-northeast-1,topology.kubernetes.io/zone=ap-northeast-1d
ip-10-0-3-223.ap-northeast-1.compute.internal NotReady <none> 12s v1.31.4-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=t3.medium,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-04ce8fd593aa7d829,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,failure-domain.beta.kubernetes.io/region=ap-northeast-1,failure-domain.beta.kubernetes.io/zone=ap-northeast-1d,k8s.io/cloud-provider-aws=25a25fa4b0fdeb549b6d3f0ef3476e4d,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-3-223.ap-northeast-1.compute.internal,kubernetes.io/os=linux,node.kubernetes.io/instance-type=t3.medium,topology.k8s.aws/zone-id=apne1-az2,topology.kubernetes.io/region=ap-northeast-1,topology.kubernetes.io/zone=ap-northeast-1d
ip-10-0-3-223.ap-northeast-1.compute.internal Ready <none> 28s v1.31.4-eks-aeac579 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=t3.medium,beta.kubernetes.io/os=linux,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup-image=ami-04ce8fd593aa7d829,eks.amazonaws.com/nodegroup=example-20250206120103912800000014,eks.amazonaws.com/sourceLaunchTemplateId=lt-0001064e00b3aa332,eks.amazonaws.com/sourceLaunchTemplateVersion=1,failure-domain.beta.kubernetes.io/region=ap-northeast-1,failure-domain.beta.kubernetes.io/zone=ap-northeast-1d,k8s.io/cloud-provider-aws=25a25fa4b0fdeb549b6d3f0ef3476e4d,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-0-3-223.ap-northeast-1.compute.internal,kubernetes.io/os=linux,node.kubernetes.io/instance-type=t3.medium,topology.k8s.aws/zone-id=apne1-az2,topology.kubernetes.io/region=ap-northeast-1,topology.kubernetes.io/zone=ap-northeast-1d
部分的な画像になってしまいますが、AWS コンソールからもノードの置き換わりが確認できます。
最終的には 11 分ほどで 3 台の置き換わりが完了しました。(ノードに乗っている Pod の数等も影響するため参考にはならないと思いますが)
まとめ
以上、「Amazon EKS のマネージドノードグループが新しくアップグレード戦略に最小限の更新戦略サポートしました」でした。
GPU など利用できるコンピュートリソースにハードリミットがあるケースなどでは、ありがたいと思いました。
このブログがどなたかの参考になれば幸いです。クラウド事業本部コンサルティング部のたかくに(@takakuni_)でした!