【EKS】アドオンバージョンを更新する手順
本記事では、EKS アドオンのバージョンを更新する手順について解説する。

前提
今回は、下記ケースのEKSアドオンの更新を行う。
- アドオンバージョンアップ先:最新
- EKSクラスターバージョン:EKS 1.29
説明
EKSを運用していく上でバージョンアップ必要なサービスは大きく以下の3つに分けられる。
EKS アドオンとは、Kubernetes の運用機能を拡張するための一般的な運用ソフトウェアである。マネージドノードグループの場合、VPC CNI plugin、CoreDNS、Kube-proxyはデフォルトでインストールされている。
他にも、EBSを利用可能にするためのAmazon EBS CSI ドライバーなどがある。
- EKSクラスター(kubernetes APIサーバー、kubernetes)
- EKSノードグループ
- EKSアドオン
- ALB Load Balancer Controller
アドオン以外の3つのバージョンアップ手順についても、本ブログで詳細に解説している。
ダウンタイム・影響
バージョンアップ中のアプリケーションへのダウンタイム
EKSアドオンのバージョンアップ中に、そのEKSでホストしているアプリケーションに対して、ダウンタイムは発生しない。
各アドオンのバージョンアップは、デフォルトでは、他のPodと同様にローリングリスタートで行われるため、ダウンタイムは基本発生しない。
各アドオンのバージョンアップ戦略の詳細は、アドオンのPodを確認するとよい。
バージョンアップによるアプリケーションへの影響
EKSアドオンのバージョンアップ中や後に、アプリケーションへの影響は発生する可能性がある。
各アドオンのReleaseを確認するとよい。
Releases · kubernetes-sigs/aws-ebs-csi-driver
バージョンアップ手順
EKSアドオンをバージョンアップする
- 下記コマンドを実行し、利用されているアドオンを確認する
eksctl get addon --<cluster name>
- 1の手順でで表示されたアップデート可能なアドオンをaddons:以下に記載し、ファイルを作成する
- Versionは最新バージョンのLatestを指定
- serviceAccountRoleARNは1のコマンドでIAMROLE列にRoleが表示された場合のみそれを記載する
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: <cluster-name>
region: <region-code>
addons:
- name: vpc-cni
version: latest
- name: aws-guardduty-agent
version: latest
- name: coredns
version: latest
- name: kube-proxy
version: latest
- name: aws-ebs-csi-driver
version: latest
serviceAccountRoleARN: arn:aws:iam::111122223333:role/role-name #最初のコマンドでIAMROLE列にRoleが表示された場合のみそれを記載
resolveConflicts: preserve
- 下記コマンドを実行し、アドオンをアップデートする
eksctl update addon -f <file name>.yaml
- 下記コマンドを実行し、アドオンが正常に更新されたことを確認する
eksctl get addon --<cluster name>
※EKSクラスターのバージョンアップの詳細はAmazon EKS アドオンの管理を参照