このページの改善にご協力ください
このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。
延長サポートの Kubernetes バージョンに関するリリースノートを確認する
Amazon EKS は、アップストリームでサポートされているよりも長く Kubernetes バージョンをサポートしており、Amazon EKS でリリースされてから 14 か月間は Kubernetes マイナーバージョンの標準サポートと、さらに 12 か月間のサポート (バージョンごとに合計 26 か月) は Kubernetes マイナーバージョンの拡張サポートを提供します。
このトピックでは延長サポートにおいて各 Kubernetes バージョンで注意すべき重要な変更点を説明します。アップグレードするときはクラスターの古いバージョンと新しいバージョン間で発生した変更を注意深く確認してください。
Kubernetes 1.31
Amazon EKS で Kubernetes 1.31 が利用可能になりました。Kubernetes1.31 の詳細については、公式リリースのお知らせ
重要
-
2017 年以降廃止された kubelet フラグ
--keep-terminated-pod-volumesは、バージョン1.31リリースの一部として削除されました。この変更は終了したポッドボリュームが kubelet によって処理される方法に影響します。ノード設定でこのフラグを使用している場合はアップグレードする前にブートストラップスクリプトと起動テンプレートを更新してこのフラグを削除する必要があります。
-
ベータ
VolumeAttributesClass機能ゲートと API リソースは、Amazon EKS バージョン1.31で有効になっています。この機能を使用すると、クラスターオペレーターは Amazon EBS CSI ドライバーなど、互換性のある CSI ドライバーによって管理される永続ボリューム (PVs) のミュータブルプロパティを変更できます。この機能を活用するにはお使いの CSI ドライバーがVolumeAttributesClass機能をサポートしていることを確認します (Amazon EBS CSI ドライバーの場合はバージョン1.35.0以降にアップグレードして自動的に機能を有効にします)。VolumeAttributesClassオブジェクトを作成して、ボリュームタイプやスループットなどの必要なボリューム属性を定義し、永続的ボリュームクレーム (PVC) に関連付けることができます。詳細についてはKubernetes の公式ドキュメントとご使用の CSI ドライバーのドキュメントを参照してください。 -
Amazon EBS CSI ドライバーの詳細については「Amazon EBS で Kubernetes ボリュームストレージを使用する」を参照してください。
-
-
AppArmor
の Kubernetes サポートは安定するように段階的に拡張され、一般公開されました。この機能を使用すると、コンテナの securityContextでappArmorProfile.typeフィールドを設定することで、AppArmor を使用してコンテナを保護できます。バージョン1.30より前の Kubernetes では、AppArmor は注釈によって制御されていました。バージョン1.30以降では、フィールドを使用して制御されます。この機能を活用するには注釈から移行し、appArmorProfile.typeフィールドを使用してワークロードに互換性があることを確認することをお勧めします。 -
PersistentVolume の最終フェーズ移行時間機能は、安定するように段階的に拡張され、Kubernetes バージョン
1.31で一般公開されました。この機能ではPersistentVolumeStatus に新しいフィールド.status.lastTransitionTimeが導入され、PersistentVolume が最後に別のフェーズに移行したときのタイムスタンプが提供されます。この機能強化により、特にボリュームのライフサイクルを理解することが重要なシナリオではPersistentVolumes の追跡と管理が向上します。
Kubernetes 1.31 の変更ログの詳細については、「https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md」を参照してください。
Kubernetes 1.30
Amazon EKS で Kubernetes 1.30 が利用可能になりました。Kubernetes1.30 の詳細については、公式リリースのお知らせ
-
Amazon EKS バージョン
1.30以降では新しく作成されたマネージド型ノードグループはノードオペレーティングシステムとして自動的に Amazon Linux 2023 (AL2023) を使用するようデフォルトで設定されます。マネージドノードグループのオペレーティングシステムの指定の詳細については「クラスターのマネージドノードグループを作成する」を参照してください。 -
Amazon EKS
1.30ではtopology.k8s.aws/zone-idラベルがワーカーノードに追加されます。アベイラビリティーゾーン ID (AZ ID) を使用すると、アカウント間でリソースの場所を区別できます。詳細については「AWS RAM ユーザーガイド」の「AWS リソースのアベイラビリティーゾーン ID」を参照してください。 -
1.30以降では新しく作成されたクラスターに適用されたgp2 StorageClassリソースのdefault注釈が Amazon EKS に含まれなくなりました。このストレージクラスを名前で参照する場合、これは影響しません。クラスターにデフォルトのStorageClassを設定する場合はアクションを実行する必要があります。gp2という名前でStorageClassを参照する必要があります。バージョン1.31.0またはaws-ebs-csi-driver add-onのインストール時にdefaultStorageClass.enabledパラメータを true に設定することで、Amazon EBS が推奨するデフォルトのストレージクラスをデプロイすることもできます。 -
Amazon EKS クラスター IAM 役割に必要な最小 IAM ポリシーが変更されました。アクション
ec2:DescribeAvailabilityZonesは必須です。詳細については、「Amazon EKS クラスター の IAM ロール」を参照してください。
Kubernetes 1.30 の変更ログの詳細については、「https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.30.md」を参照してください。
Kubernetes 1.29
Amazon EKS で Kubernetes 1.29 が利用可能になりました。Kubernetes1.29 の詳細については、公式リリースのお知らせ
重要
-
FlowSchemaとPriorityLevelConfigurationの非推奨のflowcontrol.apiserver.k8s.io/v1beta2API バージョンは、Kubernetes バージョン1.29では提供されなくなりました。非推奨のベータ API グループを使用するマニフェストやクライアントソフトウェアがある場合は、バージョン1.29にアップグレードする前にこれらを変更する必要があります。
-
ノードオブジェクトの
.status.kubeProxyVersionフィールドは非推奨となり、Kubernetes プロジェクトでは今後のリリースでそのフィールドを削除することが提案されています。非推奨のフィールドは正確ではなく、従来はkubeletによって管理されていましたが、実際にはkube-proxyバージョンを認識できず、kube-proxyが実行されているかどうかも判別できませんでした。クライアントソフトウェアでこのフィールドを使用している場合は停止してください。かかるフィールドの情報に信頼性はなく、現在は非推奨です。 -
Kubernetes
1.29で潜在的なアタックサーフェスを減らすため、LegacyServiceAccountTokenCleanUp機能は以前に自動生成されたものの長期間 (デフォルトでは 1 年) 使用されていないシークレットベースのトークンに無効のラベルを付け、そのラベルが付いてからさらに長期間使用が試みられなかった場合は自動的に削除します (デフォルトではその後 1 年)。このようなトークンを識別するには以下を実行してください。kubectl get cm kube-apiserver-legacy-service-account-token-tracking -n kube-system
Kubernetes 1.29 の変更ログの詳細については、「https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#changelog-since-v1280」を参照してください。