延長サポートの Kubernetes バージョンに関するリリースノートを確認する - Amazon EKS

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

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

延長サポートの Kubernetes バージョンに関するリリースノートを確認する

Amazon EKS は、アップストリームでサポートされているよりも長く Kubernetes バージョンをサポートしており、Amazon EKS でリリースされてから 14 か月間は Kubernetes マイナーバージョンの標準サポートと、さらに 12 か月間のサポート (バージョンごとに合計 26 か月) は Kubernetes マイナーバージョンの拡張サポートを提供します。

このトピックでは延長サポートにおいて各 Kubernetes バージョンで注意すべき重要な変更点を説明します。アップグレードするときはクラスターの古いバージョンと新しいバージョン間で発生した変更を注意深く確認してください。

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

Kubernetes 1.29

Amazon EKS で Kubernetes 1.29 が利用可能になりました。Kubernetes1.29 の詳細については、公式リリースのお知らせを参照してください。

重要
  • FlowSchemaPriorityLevelConfiguration の非推奨の flowcontrol.apiserver.k8s.io/v1beta2 API バージョンは、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」を参照してください。

Kubernetes 1.28

Amazon EKS で Kubernetes 1.28 が利用可能になりました。Kubernetes1.28 の詳細については、公式リリースのお知らせを参照してください。

  • Kubernetes v1.28 により、n-2 から n-3 へ、1 つのマイナーバージョンごとのコアノードとコントロールプレーンコンポーネントの間でサポートされるスキューが拡張されました。これにより、サポートされている最も古いマイナーバージョンのノードコンポーネント (kubelet および kube-proxy) が、サポートされている最新のマイナーバージョンのコントロールプレーンコンポーネント (kube-apiserverkube-schedulerkube-controller-managercloud-controller-manager) と連携できるようになりました。

  • Pod GC Controller にあるメトリクス force_delete_pods_total および force_delete_pod_errors_total はポッドの強制削除をすべて考慮するよう拡張されました。ポッドが強制的に削除される理由が、ポッドが終了しているのか、孤立しているのか、サービス外テイントで終了しているのか、あるいは終了してスケジュールされていないのかを示す理由がメトリックに追加されます。

  • PersistentVolume (PV) コントローラーはstorageClassName が設定されておらずバインドされていない PersistentVolumeClaim にデフォルトの StorageClass を自動的に割り当てるように変更されました。さらに、API サーバー内の PersistentVolumeClaim アドミッション検証メカニズムが調整され、値が未設定の状態から実際の StorageClass 名に変更できるようになりました。

Kubernetes 1.28の変更ログの詳細については、「https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v1270」を参照してください。