標準サポートの Kubernetes バージョンのリリースノートを確認する - アマゾン EKS

このページの改善にご協力ください

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。

標準サポートの 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 をリリースしていません。

  • インプレースポッドリソースのサイズ変更 (ベータ): インプレースリソースのサイズ変更がベータに昇格し、再起動をせずに既存のポッドの CPU とメモリリソースを動的に更新できるようになりました。これにより、ダウンタイムなしでステートフルワークロードを垂直スケーリングし、トラフィックパターンに基づいてリソースをシームレスに調整できます。

  • サイドカーコンテナの安定化: サイドカーコンテナは、アプリケーションコンテナの前に開始され、ポッドのライフサイクルを通して実行され、動作状態シグナリングのプローブをサポートする、restartPolicy: Always を使用する特別な init コンテナとしてサイドカーを実装することで、徐々に安定してきています。

  • エンドポイント API の廃止: エンドポイント API が正式に廃止され、アクセス時に警告が返されるようになりました。代わりに EndpointSlices API を使用するようにワークロードとスクリプトを移行してください。これにより、デュアルスタックネットワーキングなどの最新機能がサポートされ、サービスごとに複数の EndpointSlices が処理されます。

  • Elastic Fabric Adapter のサポート: Amazon EKS クラスターのデフォルトのセキュリティグループで、Elastic Fabric Adapter (EFA) トラフィックをサポートするようになりました。デフォルトのセキュリティグループには、同じセキュリティグループの宛先に対して EFA トラフィックを許可する新しいアウトバウンドルールがあります。これにより、クラスター内での EFA トラフィックが可能になります。

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/v1beta3 API バージョンは、バージョン 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.33 以降ではEKS は事前に構築された最適化された Amazon Linux 2 (AL2 Amazon マシンイメージ (AMIs) を提供しません。

AWS ではEKS 自動モード を採用するか、Amazon Linux 2023 (AL2023) や Bottlerocket などの最新のオペレーティングシステムに移行することを提案しています。

注記

この更新はEKS 最適化 AL2 AMIs に適用されます。オペレーティングシステム自体の詳細については「Amazon Linux 2 のFAQs」を参照してください。

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 ドライバーのドキュメントを参照してください。

  • AppArmor の Kubernetes サポートは安定するように段階的に拡張され、一般公開されました。この機能を使用すると、コンテナの securityContextappArmorProfile.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 Linux 2 (AL2) を使用するよう設定されていました。新しいノードグループを作成するときに AL2 を AMI タイプとして選択すれば、AL2 を引き続き使用できます。

  • 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」を参照してください。