KubernetesのバージョンとContainer Engine for Kubernetes

Kubernetesのバージョン管理スキームと、様々なKubernetesバージョンに対するContainer Engine for Kubernetes (OKE)サポートについてご確認ください。

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

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

Container Engine for 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マイナー・バージョンでは、通常、新機能やその他の改善が導入されます。Kubernetesプロジェクトは、年間3回、マイナー・バージョンを定期的にリリースしています。

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

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

マイナー・バージョンがサポートされなくなった場合、次のことはできません。
  • そのマイナー・バージョンを実行している新規クラスタを作成します。
  • そのマイナー・バージョンを実行している新しいノード・プールを追加します。

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

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

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

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

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

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

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