このページの改善にご協力ください
このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。
延長サポートの Kubernetes バージョンに関するリリースノートを確認する
Amazon EKS は、アップストリームでサポートされているよりも長く Kubernetes バージョンをサポートしており、Amazon EKS でリリースされてから 14 か月間は Kubernetes マイナーバージョンの標準サポートと、さらに 12 か月間のサポート (バージョンごとに合計 26 か月) は Kubernetes マイナーバージョンの拡張サポートを提供します。
このトピックでは延長サポートにおいて各 Kubernetes バージョンで注意すべき重要な変更点を説明します。アップグレードするときはクラスターの古いバージョンと新しいバージョン間で発生した変更を注意深く確認してください。
注記
標準サポートのバージョンから拡張サポートのバージョンにロールバックすると、そのクラスターの拡張サポート料金が再開されます。
Kubernetes 1.33
Amazon EKS で Kubernetes 1.33 が利用可能になりました。Kubernetes1.33 の詳細については、公式リリースのお知らせ
重要
-
動的リソース割り当てで Kubernetes の beta API が有効になっています。
-
この beta API によって、GPU などのリソースを必要とするワークロードのスケジューリングとモニタリングのエクスペリエンスが向上します。
-
beta API は Kubernetes コミュニティによって定義され、今後の Kubernetes バージョンで変更される可能性があります。
-
Kubernetes ドキュメントの「機能ステージ
」を注意深く確認し、beta API の使用による影響を理解してください。
-
-
AWS では、EKS で最適化された Amazon Linux 2 AMI for Kubernetes 1.33 をリリースしていません。
-
AWS では、Amazon Linux 2023 への移行を推奨しています。Amazon Linux 2 から Amazon Linux 2023 にアップグレードする では、その方法を説明しています。
-
詳細については、「Amazon Linux 2 AMI の廃止」を参照してください。
-
-
インプレースポッドリソースのサイズ変更 (ベータ): Kubernetes 1.33 では、インプレースリソースのサイズ変更がベータに昇格しました。これにより、既存のポッドの CPU とメモリリソースを再起動なしで動的に更新でき、ステートフルなワークロードをダウンタイムゼロで垂直スケーリングできるようになります。
-
サイドカーコンテナが安定版に: サイドカーコンテナが安定版に昇格しました。これらは
restartPolicy: Alwaysを備えた特別な init コンテナとして実装され、アプリケーションコンテナより前に起動し、ポッドのライフサイクル全体にわたって実行され、運用状態のシグナリング用のプローブをサポートします。-
詳細については、Kubernetes ドキュメントの「サイドカーコンテナ
」を参照してください。
-
-
エンドポイント API の廃止: エンドポイント API が正式に廃止され、アクセス時に警告が返されるようになりました。代わりに EndpointSlices API を使用するようにワークロードとスクリプトを移行してください。これにより、デュアルスタックネットワーキングなどの最新機能がサポートされ、サービスごとに複数の EndpointSlices が処理されます。
-
詳細については、Kubernetes ブログの「Kubernetes v1.33: Continuing the transition from Endpoints to EndpointSlice
」を参照してください。
-
-
Elastic Fabric Adapter のサポート: Amazon EKS クラスターのデフォルトのセキュリティグループで、Elastic Fabric Adapter (EFA) トラフィックをサポートするようになりました。デフォルトのセキュリティグループには、同じセキュリティグループの宛先に対して EFA トラフィックを許可する新しいアウトバウンドルールがあります。これにより、クラスター内での EFA トラフィックが可能になります。
-
詳細については、「Amazon Elastic Compute Cloud ユーザーガイド」の「Amazon EC2 の AI/ML および HPC ワークロード用の Elastic Fabric Adapter」を参照してください。
-
Kubernetes 1.33 の変更ログの詳細については、「https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.33.md」を参照してください。
Kubernetes 1.32
Amazon EKS で Kubernetes 1.32 が利用可能になりました。Kubernetes1.32 の詳細については、公式リリースのお知らせ
重要
-
FlowSchema および PriorityLevelConfiguration の
flowcontrol.apiserver.k8s.io/v1beta3API バージョンは、バージョン1.32で削除されました。これらの APIs を使用している場合はアップグレードする前に、サポートされている最新バージョンを使用するように設定を更新する必要があります。 -
ServiceAccount
metadata.annotations[kubernetes.io/enforce-mountable-secrets]は、バージョン1.32で廃止され、今後の Kubernetes マイナーバージョンリリースで削除されます。マウントされたシークレットへのアクセスを分離するには、別の名前空間を使用することをお勧めします。 -
Kubernetes バージョン
1.32は、Amazon EKS が Amazon Linux 2 (AL2) AMI をリリースする最後のバージョンです。バージョン1.33以降、Amazon EKS は引き続き Amazon Linux 2023 (AL2023) および Bottlerocket ベースの AMI をリリースします。
-
Memory Manager 機能は、Kubernetes バージョン
1.32で一般提供 (GA) ステータスに移行しました。この機能強化により、コンテナ化されたアプリケーションに対してより効率的で予測可能なメモリ割り当てが可能になり、特定のメモリ要件を持つワークロードに特に役立ちます。 -
StatefulSets によって作成された PersistentVolumeClaims (PVC) に自動クリーンアップ機能が含まれるようになりました。PVCs が不要になった場合はStatefulSet 更新およびノードメンテナンスオペレーション中にデータの永続性を維持しながら、自動的に削除されます。この機能により、ストレージ管理が簡素化され、クラスター内で孤立した PVC が発生するのを防ぐことができます。
-
カスタム リソース フィールド セレクター機能が導入され、デベロッパーはカスタム リソースにフィールド セレクターを追加できるようになりました。この機能は、組み込みの Kubernetes オブジェクトで使用できるものと同じフィルタリング機能をカスタム リソースに提供し、より正確で効率的なリソース フィルタリングを可能にし、より優れた API 設計プラクティスを促進します。
Kubernetes 1.32 の変更ログの詳細については、「https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md」を参照してください。
匿名認証の変更
Amazon EKS 以降1.32、匿名認証は次の API サーバーのヘルスチェックエンドポイントに制限されています。
-
/healthz -
/livez -
/readyz
system:unauthenticated ユーザーを使用した他のエンドポイントへのリクエストはHTTP 401 Unauthorized レスポンスを受け取ります。このセキュリティ強化はRBAC ポリシーの設定ミスが原因で発生する可能性のある意図しないクラスターアクセスを防ぐのに役立ちます。
注記
public-info-viewer RBAC ロールは上記のヘルスチェックエンドポイントに引き続き適用されます。
Amazon Linux 2 AMI の廃止
Kubernetes バージョン 1.32 は Amazon EKS が AL2 AMI をリリースした最後のバージョンです。バージョン 1.33 以降、Amazon EKS は引き続き AL2023 および Bottlerocket ベースの AMI をリリースします。詳細については、EKS AL2 AMI と AL2 高速化 AMI の移行機能ガイド を参照してください。
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」を参照してください。