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

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

本ユーザーガイドの改善にご協力いただけませんか? すべてのページの右側のペインにある GitHub リンクで、このページの編集を選択してください。皆さまにご協力いただくことで、あらゆる人々に使いやすいユーザーガイドになります。

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

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

Kubernetes 1.28

Kubernetes 1.28 が アマゾン EKS で利用可能になりました。Kubernetes 1.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 名に変更できるようになりました。

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

Kubernetes 1.27

Kubernetes 1.27 が アマゾン EKS で利用可能になりました。Kubernetes 1.27 の詳細については「公式リリースのお知らせ」を参照してください。

重要
  • アルファ seccomp アノテーション seccomp.security.alpha.kubernetes.io/pod と container.seccomp.security.alpha.kubernetes.io アノテーションのサポートは削除されました。アルファ seccomp アノテーションは 1.19 で非推奨となり、1.27 で削除されたことで、seccomp アノテーションを持つ Pods に seccomp フィールドが自動的に入力されなくなります。代わりに、Pods またはコンテナの securityContext.seccompProfile フィールドを使用して seccomp プロファイルを構成してください。クラスターで非推奨のアルファ seccomp アノテーションを使用しているかどうかを確認するには次のコマンドを実行してください。

    kubectl get pods --all-namespaces -o json | grep -E 'seccomp.security.alpha.kubernetes.io/pod|container.seccomp.security.alpha.kubernetes.io'
  • kubelet の --container-runtime コマンドライン引数が削除されました。1.24 以降、アマゾン EKS のデフォルトのコンテナランタイムが containerd となっており、これによりコンテナランタイムを指定する必要がなくなりました。1.27 以降、アマゾン EKS はブートストラップスクリプトに渡された --container-runtime 引数を無視します。ノードのブートストラッププロセス中のエラーを防ぐために、この引数を --kubelet-extra-args に渡さないことが重要です。すべてのノード作成ワークフローとビルドスクリプトから --container-runtime 引数を削除する必要があります。

  • Kubernetes 1.27 の kubelet はデフォルトの kubeAPIQPS を 50 に、kubeAPIBurst を 100 に増やしました。これらの機能強化により、kubelet がより大量の API クエリを処理できるようになり、応答時間とパフォーマンスが向上します。  スケーリング要件により、Pods に対する需要が増加した場合、修正されたデフォルト値により、kubelet は増加したワークロードを効率的に管理できるようになります。その結果、Pod の起動が速くなり、クラスター操作がより効率的になります。

  • よりきめ細かい Pod トポロジを使用して、minDomain などのポリシーを分散できます。このパラメータにより、Pods を分散させる必要のあるドメインの最小数を指定できます。nodeAffinityPolicy および nodeTaintPolicy を使用することで、Pod の分散を管理する際の粒度をさらに細かくすることができます。これはノードのアフィニティ、テイント、Pod’s 仕様の topologySpreadConstraints の matchLabelKeys フィールドによって異なります。これにより、ローリングアップグレード後の分散計算のために Pods を選択できます。

  • Kubernetes 1.27PersistentVolumeClaims (PVCs) の存続期間を制御する StatefulSets の新しいポリシーメカニズムをベータ版に昇格しました。新しい PVC リテンションポリシーではStatefulSet が削除されたとき、または StatefulSet 内のレプリカがスケールダウンされたときに、StatefulSet スペックテンプレートから生成された PVCs を自動的に削除するか、保持するかを指定できます。

  • Kubernetes API サーバーの goaway-chance オプションを使用すると、接続がランダムに閉じることで、HTTP/2 クライアント接続が単一の API サーバーインスタンスでスタックされることを防ぐことができます。接続が閉じると、クライアントは再接続を試み、負荷分散の結果として別の API サーバーにアクセスする可能性があります。アマゾン EKS バージョン 1.27 ではgoaway-chance フラグが有効になっています。アマゾン EKS クラスターで実行されているワークロードで HTTP GOAWAY と互換性のないクライアントが使用されている場合は接続終了時に再接続することで GOAWAY を処理できるようにクライアントを更新することをお勧めします。

完全な Kubernetes1.27 の変更ログについては「https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.27.md#changelog-since-v1260」を参照してください。

Kubernetes 1.26

Kubernetes 1.26 が アマゾン EKS で利用可能になりました。Kubernetes 1.26 の詳細については「公式リリースのお知らせ」を参照してください。

重要

Kubernetes 1.26 ではCRI v1alpha2 のサポートは終了しています。この結果、コンテナランタイムが CRI v1 をサポートしていない場合、kubelet はノードを登録しなくなります。これはKubernetes 1.26 が containerd のマイナーバージョン 1.5 以前のバージョンをサポートしていないことも意味します。containerd を使用している場合はノードを Kubernetes 1.26 にアップグレードする前に containerd バージョン 1.6.0 以降にアップグレードする必要があります。また、v1alpha2 のみをサポートする他のコンテナランタイムもアップグレードする必要があります。詳細についてはコンテナランタイムベンダーにお問い合わせください。デフォルトではAmazon Linux および Bottlerocket AMI には containerd バージョン 1.6.6 が含まれます。

  • Kubernetes 1.26 にアップグレードする前に、Amazon VPC CNI plugin for Kubernetes をバージョン 1.12 以降にアップグレードしてください。Amazon VPC CNI plugin for Kubernetes バージョン 1.12 またはそれ以降にアップグレードしていない場合、Amazon VPC CNI plugin for Kubernetes はクラッシュします。詳細については「アマゾン VPC CNI を使用してPodsに IP を割り当てる」を参照してください。

  • Kubernetes API サーバーの goaway-chance オプションを使用すると、接続がランダムに閉じることで、HTTP/2 クライアント接続が単一の API サーバーインスタンスでスタックされることを防ぐことができます。接続が閉じると、クライアントは再接続を試み、負荷分散の結果として別の API サーバーにアクセスする可能性があります。アマゾン EKS バージョン 1.26 ではgoaway-chance フラグが有効になっています。アマゾン EKS クラスターで実行されているワークロードで HTTP GOAWAY と互換性のないクライアントが使用されている場合は接続終了時に再接続することで GOAWAY を処理できるようにクライアントを更新することをお勧めします。

完全な Kubernetes1.26 の変更ログについては「https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.26.md#changelog-since-v1250」を参照してください。

Kubernetes 1.25

Kubernetes 1.25 が アマゾン EKS で利用可能になりました。Kubernetes 1.25 の詳細については「公式リリースのお知らせ」を参照してください。

重要
  • アマゾン EC2 P2 インスタンスはNVIDIA ドライバーバージョン 470 以前を必要とするため、アマゾン EKS ではサポートされていません。

  • PodSecurityPolicy (PSP) は Kubernetes 1.25 で削除されます。PSPs はPod Security Admission (PSA) および Pod Security Standards (PSS) に置き換えられます。PSA はPSS で概説されているセキュリティコント役割を実装する組み込みのアドミッションコントローラーです。PSA および PSS は Kubernetes 1.25 で安定状態に移行し、アマゾン EKS ではデフォルトで有効になります。クラスター内に PSPs がある場合はクラスターをバージョン 1.25 にアップグレードする前に、PSP から組み込みの Kubernetes PSS または Policy as Code ソリューションに移行してください。PSP から移行しない場合、ワークロードが中断される可能性があります。詳細については「レガシーポッドセキュリティポリシー (PSP) からの移行」を参照してください。

  • Kubernetes バージョン 1.25 にはAPI の優先度と公平性 (APF) として知られる、既存の機能の動作が変わる変更が含まれています。APF はリクエスト量が増加しているときに発生する可能性のある過負荷から API サーバーを保護する役割を果たします。保護は所定の時点で処理できる同時リクエストの数に制限を設けることで行なわれます。この処理はさまざまなワークロードやユーザーからのリクエストに明確な優先レベルや制限を適用することで実施されます。このアプローチにより、重要なアプリケーションや優先度の高いリクエストを優先的に扱いながら、優先度の低いリクエストが API サーバーを圧迫するのを防ぐことができます。詳しくはKubernetes ドキュメントの「API の優先順位と公平性」または EKS ベストプラクティスガイドの「API の優先順位と公平性」を参照してください。

    これらのアップデートは PR #10352 および PR #118601 で導入されました。以前はAPF はすべてのタイプのリクエストを一様に処理し、各リクエストが同時リクエスト制限の 1 単位を消費していました。APF の動作が変更されたことで、API サーバーに非常に大きな負荷がかかる要因となる LIST リクエストにより多くの同時実行単位が割り当てられるようになりました。API サーバーはLIST リクエストによって返されるオブジェクトの数を推定します。返されるオブジェクトの数に比例した同時実行単位を割り当てます。

    アマゾン EKS バージョン 1.25 以降にアップグレードすると、このアップデートされた動作により、多量の LIST リクエストを持つ (以前は問題なく機能していた) ワークロードに、レート制限が発生する可能性があります。これは HTTP 429 のレスポンスコードとして表示されます。LIST リクエストへのレート制限により、ワークロードの中断が発生する可能性を回避するため、ワークロードを再構築してこれらのリクエストのレートを減らすことを強くお勧めします。またはAPF 設定を調整して、重要なリクエストにより多くの容量を割り当てて、重要でないリクエストに割り当てる容量を減らすことで、この問題を解決することもできます。これらの緩和方法の詳細についてはEKS ベストプラクティスガイドの「リクエストがドロップされるのを防ぐには」を参照してください。

  • アマゾン EKS 1.25 には更新された YAML ライブラリを含むクラスター認証の機能強化が含まれています。kube-system 名前空間で見つかった aws-auth ConfigMap の YAML の値がマクロで始まり、最初の文字が中括弧である場合、中括弧 ({ }) の前後に引用符 (" ") を追加する必要があります。これはaws-iam-authenticator バージョン v0.6.3 によって アマゾン EKS 1.25aws-auth ConfigMap が正確に解析されるようにするために必要です。

  • EndpointSlice のベータ API バージョン (discovery.k8s.io/v1beta1) は Kubernetes 1.21 で非推奨となっており、Kubernetes 1.25 現在は提供されていません。この API は discovery.k8s.io/v1 に更新されました。詳細についてはKubernetes ドキュメントの「EndpointSlice」を参照してください。 AWS Load Balancer Controller v2.4.6 以前はv1beta1 エンドポイントを使用して EndpointSlices と通信していました。 AWS Load Balancer Controller のために EndpointSlices の設定を使用している場合はアマゾン EKS クラスターを 1.25 にアップグレードする前に AWS Load Balancer Controller v2.4.7 にアップグレードする必要があります。 AWS Load Balancer Controller のために EndpointSlices の設定を使用しているときに 1.25 にアップグレードすると、コントローラーがクラッシュし、ワークロードが中断されます。コントローラーをアップグレードするには「AWS Load Balancer Controller を使用してインターネットトラフィックをルーティングする」を参照してください。

  • HorizontalPodAutoscaler のベータ API バージョン (autoscaling/v2beta1) はKubernetes 1.25 以降、提供されなくなりました。この API はバージョン 1.23 で廃止になりました。マニフェストと API クライアントを移行して、autoscaling/v2 HorizontalPodAutoscaler API バージョンを使用します。詳細についてはKubernetes ドキュメントを参照してください。

  • SeccompDefault はKubernetes 1.25 でベータ版に昇格しました。kubelet を設定するときに --seccomp-default フラグを設定すると、コンテナランタイムは unconfined (seccomp disabled) モードではなく、その RuntimeDefaultseccomp プロファイルを使用します。デフォルトプロファイルはワークロードの機能を維持しながら、セキュリティデフォルトの強力なセットを提供します。このフラグは利用可能ですが、アマゾン EKS はデフォルトでこのフラグを有効にしないため、アマゾン EKS の動作は事実上変更されません。必要に応じて、ノードでこれを有効にすることができます。詳細についてはKubernetes ドキュメントのチュートリアル「seccomp を使用してコンテナの Syscall を制限する」を参照してください。

  • Docker (dockershim とも呼ばれる) のコンテナランタイムインターフェイス (CRI) のサポートはKubernetes 1.24 以降から削除されました。Kubernetes 1.24 以降のクラスター用の アマゾン EKS の公式 AMIs における唯一のコンテナランタイムは containerd です。アマゾン EKS 1.24 以降にアップグレードする前に、サポートされなくなったブートストラップスクリプトフラグへの参照をすべて削除します。詳細については「dockershim から containerd に移行する」を参照してください。

  • ワイルドカードクエリのサポートは CoreDNS 1.8.7 で非推奨となり、CoreDNS 1.9 で削除されました。これはセキュリティ対策として行われました。ワイルドカードクエリは機能しなくなり、IP アドレスの代わりに NXDOMAIN を返します。

  • Kubernetes API サーバーの goaway-chance オプションを使用すると、接続がランダムに閉じることで、HTTP/2 クライアント接続が単一の API サーバーインスタンスでスタックされることを防ぐことができます。接続が閉じると、クライアントは再接続を試み、負荷分散の結果として別の API サーバーにアクセスする可能性があります。アマゾン EKS バージョン 1.25 ではgoaway-chance フラグが有効になっています。アマゾン EKS クラスターで実行されているワークロードで HTTP GOAWAY と互換性のないクライアントが使用されている場合は接続終了時に再接続することで GOAWAY を処理できるようにクライアントを更新することをお勧めします。

完全な Kubernetes1.25 の変更ログについては「https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.25.md#changelog-since-v1240」を参照してください。

Kubernetes 1.24

Kubernetes 1.24 が アマゾン EKS で利用可能になりました。Kubernetes 1.24 の詳細については「公式リリースのお知らせ」を参照してください。

重要
  • Kubernetes 1.24 以降、新しいベータ版 API はデフォルトではクラスターで有効になっていません。デフォルトでは既存のベータ API と既存のベータ API の新しいバージョンは引き続き有効になっています。アマゾン EKS はアップストリーム Kubernetes 1.24 と同じ動作をします。新規および既存の両方の API 操作の新機能を制御する機能ゲートはデフォルトで有効になっています。これはアップストリーム Kubernetes と一致しています。詳細については「GitHub」の「KEP-3136: ベータ API はデフォルトでオフになっている」を参照してください。

  • Docker (dockershim とも呼ばれる) のコンテナランタイムインターフェイス (CRI) のサポートはKubernetes 1.24 から削除されました。アマゾン EKS 公式 AMI には唯一のランタイムとして containerd があります。アマゾン EKS 1.24 以降に移行する前に、サポートされなくなったブートストラップスクリプトフラグへの参照をすべて削除する必要があります。また、ワーカーノードで IP 転送が有効になっていることを確認してください。詳細については「dockershim から containerd に移行する」を参照してください。

  • Fluentd をすでに Container Insights 用に構成している場合、クラスターを更新する前に Fluentd を Fluent Bit に移行する必要があります。Fluentd パーサーは JSON 形式のログメッセージのみを解析するように構成されています。dockerd とは異なり、containerd コンテナランタイムには JSON 形式ではないログメッセージがあります。Fluent Bit に移行しないと、構成された Fluentd’s パーサーの一部が Fluentd コンテナ内で大量のエラーを生成します。移行の詳細については「CloudWatch Logs へログを送信する DaemonSet として Fluent Bit を設定する」を参照してください。

  • Kubernetes 1.23 以前のバージョンでは検証不能な IP と DNS サブジェクト代替名 (SAN) を含む kubelet サービング証明書は検証不能な SAN とともに自動的に発行されます。これらの検証不能な SAN はプロビジョニングされた証明書から除外されます。バージョン 1.24 以降のクラスターではSAN を検証できない場合、kubelet サービング証明書は発行されません。これにより、kubectl exec コマンドと kubectl ログコマンドが機能しなくなります。詳細については「クラスターをKubernetes 1.24 にアップグレードする前の証明書署名に関する考慮事項」を参照してください。

  • Fluent Bit を使用する アマゾン EKS 1.23 クラスターをアップグレードする場合はk8s/1.3.12 以降のものが実行中であることを確認する必要があります。これを行うにはGitHub から最新の該当する Fluent Bit YAML ファイルを再適用します。詳細については「アマゾン CloudWatch ユーザーガイド」の「Fluent Bit の設定」を参照してください。

  • Topology Aware Hints を使用すると、クラスターワーカーノードが複数のアベイラビリティーゾーンにデプロイされている場合に、トラフィックをゾーン内に保持する設定を指定できます。ゾーン内でトラフィックをルーティングすると、コストを削減し、ネットワークパフォーマンスを向上させることができます。デフォルトではTopology Aware Hints は アマゾン EKS 1.24 で有効になっています。詳細については「Kubernetes ドキュメント」の「トポロジー対応のヒント」を参照してください。

  • PodSecurityPolicy (PSP) はKubernetes 1.25 で削除される予定です。PSPs はポッドセキュリティアドミッション (PSA) に置き換えられています。PSA はポッドセキュリティ標準 (PSS) で概説されているセキュリティコント役割を使用するビルトインのアドミッションコントローラーです。PSA と PSS はどちらもベータ機能であり、アマゾン EKS ではデフォルトで有効になっています。バージョン 1.25 での PSP の削除に対処するにはアマゾン EKS に PSS を実装することをお勧めします。詳細については「AWS ブログ」の「アマゾン EKS でのポッドセキュリティ標準の実装」を参照してください。

  • client.authentication.k8s.io/v1alpha1 ExecCredential はKubernetes 1.24 で削除されます。ExecCredential API はKubernetes 1.22 で一般に利用できるようになりました。v1alpha1 API に依存する client-go 認証情報プラグインを使用する場合はv1 API への移行方法について、プラグインのディストリビューターにお問い合わせください。

  • Kubernetes 1.24 についてはアップストリームの Cluster Autoscaler プロジェクトに機能を提供しました。この機能はアマゾン EKS のマネージド型ノードグループのゼロノードへのスケーリングとノードからのスケーリングを簡素化します。以前はCluster Autoscaler がゼロノードにスケーリングされたマネージド型ノードグループのリソース、ラベル、テイントを理解するには基盤となる アマゾン EC2 自動スケーリング グループに、それが担当するノードの詳細情報をタグ付けする必要がありました。現在、マネージド型ノードグループに実行中のノードがない場合、Cluster Autoscaler は アマゾン EKS DescribeNodegroup API 操作を呼び出します。この API オペレーションはCluster Autoscaler がマネージド型ノードグループのリソース、ラベル、テイントについて必要とする情報を提供します。この機能を使用するにはCluster Autoscaler サービスアカウントの IAM ポリシーに eks:DescribeNodegroup アクセス許可を追加する必要があります。アマゾン EKS マネージド型ノードグループを強化する 自動スケーリング グループの Cluster Autoscaler タグの値がノードグループ自体と競合する場合、Cluster Autoscaler は 自動スケーリング グループタグの値を使用します。これは必要に応じて値をオーバーライドできるようにするためです。詳細についてはCluster Autoscaler を参照してください。

  • アマゾン EKS 1.24 で Inferentia または Trainium インスタンスタイプを使用する場合はAWS Neuron デバイスプラグインバージョン 1.9.3.0 以降にアップグレードする必要があります。詳細については「AWS Neuron ドキュメント」の「Neuron K8 リリース [1.9.3.0]」を参照してください。

  • Containerd ではIPv6 が Pods 用にデフォルトで有効になっています。これはノードのカーネル設定を Pod ネットワークの名前空間に適用します。このため、Pod 内のコンテナは IPv4 (127.0.0.1) と IPv6 (::1) の両方のループバックアドレスにバインドされます。IPv6 はデフォルトの通信用プロトコルです。クラスターをバージョン 1.24 に更新する前に、マルチコンテナ Pods をテストすることをお勧めします。ループバックインターフェイスのすべての IP アドレスにバインドできるようにアプリを変更します。ライブラリの大部分は IPv6 バインディングを有効にします。これは IPv4 との下位互換性を備えています。アプリケーションコードを変更できない場合、次の 2 つのオプションがあります。

    • init コンテナを実行し、disable ipv6true (sysctl -w net.ipv6.conf.all.disable_ipv6=1) に設定します。

    • アプリケーション Pods と一緒に init コンテナを挿入するように MutatingAdmissionWebhook を設定します。

    すべてのノードですべての Pods 用に IPv6 をブロックする必要がある場合、インスタンスで IPv6 を無効にしなければならない場合があります。

  • Kubernetes API サーバーの goaway-chance オプションを使用すると、接続がランダムに閉じることで、HTTP/2 クライアント接続が単一の API サーバーインスタンスでスタックされることを防ぐことができます。接続が閉じると、クライアントは再接続を試み、負荷分散の結果として別の API サーバーにアクセスする可能性があります。アマゾン EKS バージョン 1.24 ではgoaway-chance フラグが有効になっています。アマゾン EKS クラスターで実行されているワークロードで HTTP GOAWAY と互換性のないクライアントが使用されている場合は接続終了時に再接続することで GOAWAY を処理できるようにクライアントを更新することをお勧めします。

完全な Kubernetes1.24 の変更ログについては「https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.24.md#changelog-since-v1230」を参照してください。

Kubernetes 1.23

Kubernetes 1.23 が アマゾン EKS で利用可能になりました。Kubernetes 1.23 の詳細については「公式リリースのお知らせ」を参照してください。

重要
  • Kubernetes ツリー内からコンテナストレージインターフェイス (CSI) ボリュームへの移行機能が有効になっています。この機能により、アマゾン EBS の既存の Kubernetes ツリー内ストレージプラグインを、対応する アマゾン EBS CSI ドライバーに置き換えることができます。詳細についてはKubernetes ブログの「Kubernetes 1.17 の機能: Kubernetes ツリー内から CSI ボリュームへの移行機能がベータ版に移行」を参照してください。

    この機能はツリー内 API を同等の CSI API に変換し、代替 CSI ドライバーにオペレーションを委任します。この機能を使用すると、これらのワークロードに属する既存の StorageClassPersistentVolume、および PersistentVolumeClaim オブジェクトを使用する場合、顕著な変化はほとんどない可能性が高いです。この機能により、Kubernetes はすべてのストレージ管理オペレーションをツリー内プラグインから CSI ドライバーに委任できます。既存のクラスターで アマゾン EBS ボリュームを使用する場合はクラスターをバージョン 1.23 に更新する前に、クラスターで アマゾン EBS CSI ドライバーをインストールします。既存のクラスターを更新する前にドライバーをインストールしないと、ワークロードが中断される可能性があります。アマゾン EBS ボリュームを使用するワークロードを新しい 1.23 クラスターでデプロイする場合はクラスターにワークロードをデプロイする前に、クラスターに アマゾン EBS CSI ドライバーをインストールします。クラスターに アマゾン EBS CSI ドライバーをインストールする方法については「Amazon EBS を利用して Kubernetes ボリュームを保存する」を参照してください。移行機能に関するよくある質問については「Amazon EBS CSI 移行に関するよくある質問」を参照してください。

  • AWS によって公開されている アマゾン EKS 最適化 Windows AMI の延長サポートはKubernetes バージョン 1.23 では利用できませんが、Kubernetes バージョン 1.24 以降では利用できます。

  • Kubernetes はバージョン 1.20 での dockershim のサポートを停止し、バージョン 1.24dockershim を削除しました。詳細についてはKubernetes ブログの「Kubernetes is Moving on From Dockershim: Commitments and 次へ Steps」 (Kubernetes は Dockershim の先へ: コミットメントと次のステップ) を参照してください。アマゾン EKS はアマゾン EKS バージョン 1.24 以降、dockershim のサポートを終了します。アマゾン EKS バージョン 1.24 から、アマゾン EKS 公式 AMI は唯一のランタイムとして containerd を備えることになります。

    アマゾン EKS バージョン 1.23 は引き続き dockershim をサポートしますが、今すぐアプリケーションのテストを開始して、Docker 依存関係を特定して削除することをお勧めします。これにより、クラスターをバージョン 1.24 に更新する準備が整います。dockershim の削除の詳細については「dockershim から containerd に移行する」を参照してください。

  • Kubernetes はPods、サービス、およびノード向けに IPv4/IPv6 デュアルスタックネットワーキングの一般提供を開始しました。ただし、アマゾン EKS と Amazon VPC CNI plugin for Kubernetes ではデュアルスタックネットワークをサポートしていません。クラスターは IPv4 または IPv6 アドレスを Pods およびサービスに割り当てることができますが、両方のアドレスタイプを割り当てることはできません。

  • Kubernetes はポッドセキュリティアドミッション (PSA) 機能のベータ版の提供を開始しました。この機能はデフォルトで有効になっています。詳細についてはKubernetes のドキュメントの「Pod Security Admission」を参照してください。PSA はポッドセキュリティポリシー (PSP) アドミッションコントローラーを置き換えます。PSP アドミッションコントローラーはサポートされておらず、Kubernetes バージョン 1.25 で削除される予定です。

    PSP アドミッションコントローラーは適用レベルを設定する特定の名前空間ラベルに基づいて、名前空間の Pods に対して Pod セキュリティ標準を適用します。詳細については「アマゾン EKS のベストプラクティスガイド」の「Pod Security Standards (PSS) and Pod Security Admission (PSA)」(Pod Security Standards (PSS) および Pod Security Admission (PSA)) を参照してください。

  • クラスターでデプロイされる kube-proxy イメージはアマゾン EKS Distro (EKS-D) によって維持される最小基本イメージとなりました。イメージには最小限のパッケージが含まれており、シェルやパッケージ マネージャーは含まれていません。

  • Kubernetes はエフェメラルコンテナのベータ版の提供を開始しました。エフェメラルコンテナは既存の Pod と同じ名前空間で実行される一時的なコンテナです。これらを使用して、トラブルシューティングやデバッグの目的で Pods およびコンテナの状態を観察できます。これはコンテナがクラッシュしたか、コンテナイメージにデバッグユーティリティが含まれていないことを理由として kubectl exec が不十分である場合に、インタラクティブなトラブルシューティングに特に役立ちます。デバッグユーティリティを含むコンテナの例はdistroless イメージです。詳細についてはKubernetes ドキュメントの「Debugging with an ephemeral debug container」(エフェメラルデバッグコンテナを使用したデバッグ) を参照してください。

  • Kubernetes はHorizontalPodAutoscaler autoscaling/v2 の安定した API の一般提供を開始しました。HorizontalPodAutoscaler autoscaling/v2beta2 API は非推奨です。1.26 ではご利用いただけなくなります。

  • Kubernetes API サーバーの goaway-chance オプションを使用すると、接続がランダムに閉じることで、HTTP/2 クライアント接続が単一の API サーバーインスタンスでスタックされることを防ぐことができます。接続が閉じると、クライアントは再接続を試み、負荷分散の結果として別の API サーバーにアクセスする可能性があります。アマゾン EKS バージョン 1.23 ではgoaway-chance フラグが有効になっています。アマゾン EKS クラスターで実行されているワークロードで HTTP GOAWAY と互換性のないクライアントが使用されている場合は接続終了時に再接続することで GOAWAY を処理できるようにクライアントを更新することをお勧めします。

完全な Kubernetes1.23 の変更ログについては「https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.23.md#changelog-since-v1220」を参照してください。