サポートされているKubernetesのバージョン
Kubernetes Engine (OKE)が現在サポートしているKubernetesのバージョンと、以前にサポートされていたバージョンの詳細、および将来のバージョンに対するサポート計画をご覧ください。
新しいバージョンのKubernetesのKubernetes Engineサポートが発表されると、その後、古いバージョンのKubernetesはサポートされなくなります。Oracleでは、Kubernetes Engineでサポートされている最新のKubernetesバージョンを使用するように既存のクラスタをアップグレードすることをお薦めします。
このトピックの内容:
現在サポートされているKubernetesバージョン
Kubernetes Engineは、新しいクラスタに対して3つのバージョンのKubernetesをサポートしています。新しいKubernetesバージョンのサポートが発表されてから少なくとも30日間は、Kubernetes Engineで4番目に古い利用可能なKubernetesバージョンが引き続きサポートされます。その後、古いKubernetesバージョンはサポートされなくなります。
Kubernetes Engineで新しいクラスタを作成する場合、Oracleでは、Kubernetes Engineがサポートする最新のKubernetesバージョンを使用することをお薦めします。Oracleが新しいKubernetesバージョンのKubernetes Engineサポートを発表すると、Oracleでは、既存のクラスタをアップグレードして、その新しいKubernetesバージョンをできるだけ早く使用することをお薦めします。
リリース・カレンダ
Kubernetes Engine (OKE)では、新しいクラスタに対して次のバージョンのKubernetesがサポートされています:
Kubernetesマイナー・バージョン | OKEでサポートされているKubernetesパッチ・バージョン | アップストリーム・マイナー・バージョン・リリース日 | アップストリーム・マイナー・バージョン耐用期間終了日 | OKEリリース日 | OKE終了日 |
---|---|---|---|---|---|
1.32 | 1.32.1 | 2024-12-11 | 2026-02-28 | 2025- 03-18 | 1.35 OKEリリース日の30日後(計画) |
1.31 | 1.31.1 | 2024-08-13 | 2025-10-28 | 2024-11-25 | 1.34 OKEリリース日の30日後(計画) |
1.30 | 1.30.1 | 2024-04-17 | 2025-06-28 | 2024-07-23 | 1.33 OKEリリース日の30日後(計画) |
1.29 | 1.29.10 | 2023-12-13 | 2025-02-28 | 2025-01-22 | 2025-04-17 |
1.29 | 1.29.1 | 2023-12-13 | 2025-02-28 | 2024-03-28 | 2025-02-21 |
法的免責事項:この表は、オラクルの一般的な製品の方向性の概要を示しています。また、情報提供のみを目的としており、いかなる契約にも組込むことはできません。マテリアル、コード、または機能の提供をお約束するものではなく、購入決定を行う際の判断材料とすべきではありません。Oracleの製品に説明されている機能の開発、リリース、タイミングおよび価格は、Oracle Corporationの単独の裁量で変更される場合があります。
KubernetesエンジンでのKubernetesバージョン1.30に関するノート
Kubernetesバージョン1.30のKubernetes Engineサポートでは、CPUおよびメモリー予約に関するデフォルトのKubernetesエンジンの動作も変更されることに注意してください。Kubernetesバージョン1.30以降を実行しているクラスタでは、管理対象ノードのCPUおよびメモリー・リソースが、それぞれ--kube-reserved
および--system-reserved
kubeletフラグを使用してデフォルトで予約されます(ベスト・プラクティス: KubernetesおよびOSシステム・デーモンのリソースの予約で推奨)。その結果、Kubernetesバージョン1.30以降を実行しているクラスタでは、ノードの合計リソースと、リクエストするワークロードが使用可能なリソースに違いがあります。詳細は、ベスト・プラクティス: KubernetesおよびOSシステム・デーモンのリソースの予約を参照してください。
KubernetesエンジンでのKubernetesバージョン1.28に関するノート
Kubernetesバージョン1.28では、Kubernetesスキュー・ポリシーが拡張されています。Kubernetesバージョン1.28より前は、スキュー・ポリシーにより、クラスタのコントロール・プレーン・ノードがワーカー・ノードより2バージョン以下になる必要がありました。Kubernetesバージョン1.28以降、Kubernetesスキュー・ポリシーにより、コントロール・プレーン・ノードをワーカー・ノードより最大3つのバージョン先にすることができます。Kubernetesバージョン・スキュー・サポート・ポリシーを参照してください。
Kubernetes Engineは、Kubernetesバージョン1.28以降を実行しているクラスタに拡張偏りポリシーを適用します。
KubernetesエンジンでのKubernetesバージョン1.27に関するノート
Kubernetesバージョン1.27は、次の非推奨のKubernetes APIの提供を停止しました:
- CSIStorageCapacity (storage.k8s.io/v1beta1 APIバージョン)
非推奨のAPIからの移行の詳細は、Kubernetesの非推奨のAPI移行ガイドを参照してください。
KubernetesエンジンでのKubernetesバージョン1.26に関するノート
Kubernetesバージョン1.26は、次のような非推奨のKubernetes APIの提供を停止しました。
- FlowSchema (flowcontrol.apiserver.k8s.io/v1beta1 APIバージョン)
- HorizontalPodAutoscaler (自動スケーリング/v2beta2 APIバージョン)
- PriorityLevelConfiguration (flowcontrol.apiserver.k8s.io/v1beta1 APIバージョン)
非推奨のAPIからの移行の詳細は、Kubernetesの非推奨のAPI移行ガイドを参照してください。
Kubernetesバージョン1.26.2の次のアップストリームの問題に対処するために、Kubernetesバージョン1.26.7のサポートがリリースされました:
- https://github.com/opencontainers/runc/issues/3849: kubeletのバグにより、5.15 Linuxカーネルでcgroup v1を使用するノードでメモリー・リークが発生します。Oracle Linux 8.7イメージでは5.15 Linuxカーネルが使用されるため、Oracle Linux 8.7イメージはバグの影響を受けます。
- https://github.com/cri-o/cri-o/issues/6805: crioの再起動後にメトリックがありません。
KubernetesエンジンでのKubernetesバージョン1.25に関するノート
Kubernetesバージョン1.25は、次のような非推奨のKubernetes APIの提供を停止しました。
- CronJob (batch/v1beta1 APIバージョン)
- EndpointSlice (discovery.k8s.io/v1beta1 APIバージョン)
- イベント(events.k8s.io/v1beta1 APIバージョン)
- HorizontalPodAutoscaler (自動スケーリング/v2beta1 APIバージョン)
- PodDisruptionBudget (policy/v1beta1 APIバージョン)
- PodSecurityPolicy (policy/v1beta1 APIバージョン)
- RuntimeClass (node.k8s.io/v1beta1 APIバージョン)
非推奨のAPIからの移行の詳細は、Kubernetesの非推奨のAPI移行ガイドを参照してください。
Kubernetesバージョン1.25.12のサポートは、Kubernetesバージョン1.25.4の次のアップストリームの問題に対処するためにリリースされました:
- https://github.com/opencontainers/runc/issues/3849: kubeletのバグにより、5.15 Linuxカーネルでcgroup v1を使用するノードでメモリー・リークが発生します。Oracle Linux 8.7イメージでは5.15 Linuxカーネルが使用されるため、Oracle Linux 8.7イメージはバグの影響を受けます。
- https://github.com/cri-o/cri-o/issues/6805: crioの再起動後にメトリックがありません。
アップストリームKubernetesプロジェクトは、Kubernetesバージョン1.21でポッド・セキュリティ・ポリシーを非推奨にし、Kubernetesバージョン1.25で機能を削除しました。したがって、Kubernetesエンジンは、Kubernetesバージョン1.25以降を実行しているクラスタでポッド・セキュリティ・ポリシーおよびPodSecurityPolicyアドミッション・コントローラをサポートしていません。
同様の機能が必要な場合は、かわりにKubernetesポッド・セキュリティ標準およびPodSecurityアドミッション・コントローラ(特権ポリシー、ベースライン・ポリシーおよび制限ポリシーとともに)の使用を検討してください。デフォルトでは、Kubernetes Engineは、ポッド・セキュリティ標準をサポートするために、Kubernetesバージョン1.23以降を実行しているクラスタでPodSecurityアドミッション・コントローラを有効にします。Kubernetesポッド・セキュリティ標準およびPodSecurity入場コントローラの詳細は、Kubernetesドキュメントのポッド・セキュリティ標準を参照してください。
または、Kubernetesエコシステムで開発されている他の代替手段を使用してポリシーを適用することを検討してください。
ポッド・セキュリティ・ポリシーおよびPodSecurityPolicyアドミッション・コントローラの使用からポッド・セキュリティ標準およびPodSecurityアドミッション・コントローラの使用に移行する場合は、KubernetesドキュメントのPodSecurityPolicyから組込みPodSecurityアドミッション・コントローラへの移行を参照してください。Kubernetesバージョン1.25を実行している新しいクラスタを作成する前に、またはKubernetesバージョン1.25を実行するために既存のKubernetesバージョン1.24クラスタをアップグレードする前に、移行を完了することが重要です。また、コンソールには、Kubernetesエンジンによって作成および管理される既存のKubernetesクラスタでのPodSecurityPolicyアドミッション・コントローラの使用を無効にする便利な方法があります(コンソールを使用したPodSecurityPolicyアドミッション・コントローラの無効化を参照)。
KubernetesエンジンでのKubernetesバージョン1.22に関するノート
Kubernetesバージョン1.22は、次のような非推奨のKubernetes APIの提供を停止しました。
- Webフック・リソース
- CustomResourceDefinition
- APIService
- TokenReview
- SubjectAccessReviewリソース
- CertificateSigningRequest
- リース
- イングレス
- IngressClass
- RBACリソース
- PriorityClass
- 記憶域リソース
非推奨のAPIからの移行の詳細は、Kubernetesの非推奨のAPI移行ガイドを参照してください。
将来のKubernetesバージョンの計画サポート
Kubernetes Engineのサポートは現在、次のバージョンのKubernetesに予定されています。将来の日付は予告なしに変更される場合があります。また、表の後の法的免責事項にも注意してください。
Kubernetesマイナー・バージョン | OKEでサポートされているKubernetesパッチ・バージョン | アップストリーム・マイナー・バージョン・リリース日 | アップストリーム・マイナー・バージョン耐用期間終了日 | OKEリリース日 |
---|---|---|---|---|
1.33 | 確認 | 2025年4月 | 確認 | 確認 |
1.34 | 確認 | 確認 | 確認 | 確認 |
1.35 | 確認 | 確認 | 確認 | 確認 |
法的免責事項:この表は、オラクルの一般的な製品の方向性の概要を示しています。また、情報提供のみを目的としており、いかなる契約にも組込むことはできません。マテリアル、コード、または機能の提供をお約束するものではなく、購入決定を行う際の判断材料とすべきではありません。Oracleの製品に説明されている機能の開発、リリース、タイミングおよび価格は、Oracle Corporationの単独の裁量で変更される場合があります。
以前サポートされていたKubernetesのバージョン
Kubernetes Engineは、以前、次のバージョンのKubernetesをサポートしていました。
Kubernetesバージョン | サポート終了 |
---|---|
1.28.10 | 2025年1月27日 |
1.28.2 | 2024年10月8日 |
1.27.10 | 2024年8月27日 |
1.27.2 | 21年5月21日 |
1.26.7 | 29年4月2024 |
1.26.2 | 2023年10月13日 |
1.25.12 | 2024年2月15日 |
1.25.4 | 2023年10月13日 |
1.24.1 | 2023年9月26日 |
1.23.4 | 6月22日、2023 |
1.22.5 | 2023年2月22日 |
1.21.5 | 2022年10月13日 |
1.20.11 | 2022年7月19日 |
1.20.8 | 2021年11月7日 |
1.19.15 | 2022年4月22日 |
1.19.12 | 2021年11月7日 |
1.19.7 | 2021年8月13日 |
1.18.10 | 2022年2月9日 |
1.17.13 | 2021年9月8日 |
1.17.9 | 2021年4月17日 |
1.16.15 | 2021年4月17日 |
1.15.12 | 2年2月2021 |
1.15.7 | 2年2月2021 |
1.14.8 | December 15, 2020 |
1.13.x | 21年3月2020 |
1.12.7 | 2020年1月29日 |
1.12.6 | 2019年4月15日 |
1.11.9 | September 9, 2019 |
1.11.8 | 2019年4月15日 |
1.11.8より前の1.11.xバージョン | 2019年3月13日 |
1.10.x | 2019年4月12日 |
1.9.x | December 11, 2019 |
1.8.x | September 7, 2018 |
KubernetesエンジンでのKubernetesバージョン1.20に関するノート
Kubernetesバージョン1.20.8のサポートの発表により、Kubernetes Engineで使用されるコンテナ・ランタイムがDockerからCRI-Oに変更されました。ただし、DockerイメージはOpen Container Initiative (OCI)準拠であるため、既存のDockerイメージを変更する必要はありません。Kubernetesに関する限り、OCI準拠のすべてのイメージは同じように見えます。
次の点に注意してください:
- CRI-Oは、Kubernetesコンテナ・ランタイム・インタフェース(CRI)の実装であり、OCI互換のランタイムを使用できます。CRI-Oは、既存のDockerイメージをプルして、Kubernetesバージョン1.20.8クラスタで実行できます。
- Dockerランタイムを使用する場合、デフォルト構成では、JSON形式を使用してコンテナの標準出力および標準エラー・ストリームが取得されます。対照的に、CRI-OはLogrus形式を使用します。FluentdやFluent Bitなどのロギング・ツールを使用する場合は、新しいパーサーを使用してCRIログを解析するようにツールの構成を更新します。例:
- Fluentdを使用する場合は、fluent-plugin-parser-criパーサーを使用します。
- Fluent Bitを使用する場合は、コンテナ・ランタイム・インタフェース(CRI)パーサーを使用します。
- 基礎となるdockerソケット/var/run/docker.sock (DockerではDockerと呼ばれることが多いパターン)に依存するワークフローがクラスタにある場合があります。Kubernetesバージョン1.20.8以降では、このようなワークフローは機能しなくなりました。
- 以前にDocker CLIを使用してホストでコマンドを実行していた場合は、かわりにcrictl (CRI互換コンテナ・ランタイム用のCLI)を使用する必要があります。
- アップストリームKubernetesプロジェクトは、Kubernetesバージョン1.20の後のコンテナ・ランタイムとしてDockerを非推奨にしています。
詳細をみるには:
- Kubernetes 1.20.8の詳細は、Kubernetes 1.20.8変更ログを参照してください
- dockershimアダプタの非推奨の詳細は、Dockershimの非推奨に関するFAQを参照してください(以前は、DockerがCRI互換ランタイムであるかのように、kubeletがDockerと対話できるようにしていました)。