KubernetesのバージョンとKubernetesエンジン(OKE)

異なるKubernetesバージョンのKubernetesバージョニング・スキームおよびKubernetes Engine (OKE)サポートについてご確認ください。

Kubernetesのバージョン番号の形式はx.y.zで、xはメジャー・バージョン、yはマイナー・バージョン、zはパッチ・バージョンです。例: 1.35.2。

Kubernetesプロジェクトは、最新の3つのマイナー・バージョンのKubernetesをサポートしています。

Kubernetesエンジンを使用して新しいKubernetesクラスタを作成する際には、次を指定します:

  • クラスタ内のコントロール・プレーン・ノードで実行するKubernetesのバージョン。
  • クラスタ内のワーカー・ノードで実行するKubernetesのバージョン。同じノード・プール内の異なるワーカー・ノードで、異なるバージョンのKubernetesを実行できます。クラスタ内の異なるノード・プールは、異なるバージョンのKubernetesを実行できます。

クラスタ内のワーカー・ノードに指定するKubernetesのバージョンは、コントロール・プレーン・ノードで実行されているKubernetesバージョンと同じか、互換性がある以前のKubernetesバージョンのいずれかである必要があります。Kubernetesバージョン・スキュー・サポート・ポリシーで説明しているように、クラスタ内のコントロール・プレーン・ノードとワーカー・ノードの間にある程度のバージョンの違いが許容されます:

  • コントロール・プレーン・ノードでは、ワーカー・ノードで実行されているバージョンと同じバージョンのKubernetesを実行するか、2つ(またはKubernetesバージョン1.28以降3つのバージョン)先まで実行する必要があります。
  • ワーカー・ノードは、最大2つのバージョン(またはKubernetesバージョン1.28から始まる3つのバージョン)でコントロール・プレーン・ノードのバージョンより古いバージョンのKubernetesを実行できますが、それ以上は実行できません。ワーカー・ノード上のバージョンが、コントロール・プレーン・ノードのバージョンより2つ以上のバージョン(またはKubernetesバージョン1.28から始まる3つのバージョン)古い場合、ワーカー・ノードとコントロール・プレーン・ノードのKubernetesバージョンには互換性がありません。
  • クラスタのワーカー・ノードでは、関連付けられているコントロール・プレーン・ノードより新しいバージョンのKubernetesを実行することはできません。

この制限により、クラスタのワーカー・ノードで実行されているkubeletおよびkube-proxyコンポーネントの最も古いサポートされているマイナー・バージョンが、クラスタのコントロール・プレーン・ノードで実行されているkube-apiserver、kube-scheduler、kube-controller-managerおよびcloud-controller-managerコンポーネントの最新のサポートされているマイナー・バージョンと常に互換性が確保されます。

詳細は、Kubernetesバージョン・スキュー・サポート・ポリシーを参照してください。

Kubernetesマイナー・バージョン・サポート

ノート

Kubernetesバージョン1.33以降、Kubernetes Engineのプレビュー・リリースでは、各Kubernetesマイナー・バージョンの初期パッチ・バージョンがサポートされます。Kubernetesマイナー・バージョンの初期パッチ・バージョンには、1.33.0などのx.y.0バージョン番号があります。初期のKubernetesパッチ・バージョンのアップストリーム起動から30日以内に、Kubernetes Engineのプレビュー・リリースを入手できるようにする予定です。Kubernetes Engineのプレビュー・リリースは、早期アクセスおよび初期Kubernetesパッチ・バージョンでのテストのみを目的としています。特に、次の点に留意してください。
  • Kubernetes Engineのプレビュー・リリースのサポートは制限されています。
  • 本番環境では、Kubernetes Engineのプレビュー・リリースを使用しないことをお薦めします。
  • 本番環境では、Kubernetesバージョンx.y.1をサポートするKubernetes Engineの本番リリースを待つことをお薦めします。このリリースは、Kubernetesバージョンx.y.1のアップストリーム起動後に適時に使用可能になる予定です。
Kubernetesマイナー・バージョンでは、通常、新機能やその他の改善が導入されます。Kubernetesプロジェクトは、年間3回、マイナー・バージョンを定期的にリリースしています。

Oracleは、Kubernetesプロジェクトによってリリースされたマイナー・バージョンを監視および検証し、Kubernetes Engineによるマイナー・バージョンのサポートをタイムリーにリリースします。

Kubernetes Engineは、新しいクラスタに対して3つのマイナー・バージョンのKubernetesをサポートしています。新しいKubernetesバージョンのサポートが発表されてから少なくとも30日間は、Kubernetes Engineで4番目に古い利用可能なKubernetesマイナー・バージョンが引き続きサポートされます。その後、古いKubernetesバージョンはサポートされなくなります。

マイナー・バージョンがサポートされなくなった場合、次のことはできません。

  • そのマイナー・バージョンを実行している新規クラスタを作成します。
  • そのマイナー・バージョンを実行している新しいノード・プールを追加します。

したがって、Oracleでは、すぐにサポートされないマイナー・バージョンを現在実行している既存のクラスタをアップグレードして、Kubernetes Engineがサポートするマイナー・バージョンを実行することをお薦めします。アップグレードされないクラスタは、期待どおりに機能し続けます。ただし、それらはサポートされなくなります。

サポートされていないマイナー・バージョンを使用してコントロール・プレーン・ノードをアップグレードできます。

アップグレード時のバージョンのスキップ

Kubernetesでは、コントロール・プレーン・ノードを一度に1つのマイナー・バージョンにアップグレードする必要があります。ただし、ワーカー・ノードを一度に1つのマイナー・バージョンにアップグレードする必要はありません。

Kubernetesパッチ・バージョン・サポート

Kubernetesパッチ・バージョンは、通常、Kubernetesマイナー・バージョンで最近特定された重要なバグまたはセキュリティ脆弱性に対処します。Kubernetesプロジェクトは、パッチ・バージョン(通常は月に1回)を頻繁にリリースしますが、より頻繁にリリースすることがあります。

Oracleは、Kubernetesプロジェクトによってリリースされたパッチ・バージョンを監視および検証し、クリティカル・パッチ・バージョンのKubernetes Engineサポートをタイムリにリリースします。

Oracleから新しいKubernetesパッチ・バージョンのKubernetes Engineサポートが通知されます。対応するマイナー・バージョンのKubernetesを実行しているクラスタを、できるだけ早く使用可能な最新のパッチ・バージョンにアップグレードすることをお薦めします。クラスタを古いパッチ・バージョンから新しいパッチ・バージョンにアップグレードするための新しいKubernetesパッチ・バージョンのKubernetes Engineサポートの発表から30日後です。30日後、古いパッチ・バージョンを実行しているクラスタはサポートされなくなります。

古いパッチ・バージョンを実行しているクラスタは30日後にサポートされなくなりますが、古いパッチ・バージョンは引き続き選択可能です。ただし、Oracleでは最新のパッチ・バージョンを選択することを強くお薦めします。

Kubernetesバージョン選択に関するノート

コンソール、CLIおよびAPIを使用してクラスタまたはノード・プールを作成または更新する場合は、Kubernetesバージョンを指定します。次の方法でKubernetesバージョンを指定できます:

  • (推奨) major.minor形式(x.y)を使用して、Kubernetesのバージョン番号を指定できます。この場合、Kubernetesエンジンは、指定されたマイナー・バージョンに対してサポートされている最新のパッチ・バージョンを自動的に使用します。ベスト・プラクティスとしてx.y形式を使用することをお薦めします。これは、Kubernetesエンジンが、選択したマイナー・バージョンで使用可能な最新で最もセキュアで最も安定したパッチを自動的に選択できるようにするためです。
  • major.minor.patch形式(x.y.z)を使用して、Kubernetesのバージョン番号を指定できます。この場合、Kubernetesエンジンは、指定したKubernetesパッチ・バージョンを使用します。x.y.z形式を使用してKubernetesバージョンを指定することは、組織または互換性ポリシーに特定のパッチ・バージョンが必要な場合に適しています。

コンソールを使用する場合、使用可能なKubernetesバージョン番号は、最初はx.y形式で表示されます。x.y形式でKubernetesバージョンを選択した後、オプションで「パッチ・バージョンの表示」を選択し、選択したmajor.minorバージョンに対してサポートされているパッチ・バージョンを指定できます。ただし、Kubernetesエンジンがマイナー・バージョンのパッチ・バージョンを自動的に選択できるようにするには、単にx.y形式のKubernetesバージョンを選択することをお薦めします。

CLIを使用する場合、oci ce cluster-options getまたはoci ce node-pool-options getコマンドの使用時に--should-list-all-patch-versions falseオプションを含めることで、使用可能なKubernetesバージョンをx.y形式で取得できます。

APIを使用する場合、GetClusterOptionsまたはGetNodePoolOptions操作の使用時にshouldListAllPatchVersions=falseを問合せパラメータとして含めることで、使用可能なKubernetesバージョンをx.y形式で取得できます。