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

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

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

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

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

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

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

  • コントロール・プレーン・ノードは、ワーカー・ノードで実行されているバージョンと同じバージョンか、2つ(またはKubernetesバージョン1.28以降3つのバージョン)先まで実行する必要があります。
  • ワーカー・ノードは、最大2バージョン(または3バージョン、Kubernetesバージョン1.28以降)でコントロール・プレーン・ノードのバージョンより古いバージョンのKubernetesを実行できますが、これ以上実行できません。Kubernetesバージョン1.28以降、ワーカー・ノードのバージョンが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では最新のパッチ・バージョンを選択することを強くお薦めします。