Oracle Cloud Infrastructureドキュメント

新しいKubernetesバージョンへのクラスタのアップグレードについて

Kubernetesの新しいバージョンがリリースされた後、Container Engine for Kubernetesが新しいバージョンをサポートする場合、Container Engine for Kubernetesを使用して古いバージョンのKubernetesを実行しているマスター・ノードをアップグレードできます。 「Kubernetesのコンテナ・エンジン」により、複数のOracle管理マスター・ノードのKubernetesコントロール・プレーン (サポートされているリージョンの異なる可用性ドメインに分散されている)に分散するため、停止時間がゼロのマスター・ノードで実行されているKubernetesバージョンをアップグレードできます。

マスター・ノードをKubernetesの新しいバージョンにアップグレードした後、新しいバージョンを実行する新しいノード・プールを作成できます。 または、Kubernetesの古いバージョンが実行される新しいノード・プールを引き続き作成できます(古いバージョンがマスター・ノードで実行されているKubernetesバージョンと互換性がある場合)。

インプレース・アップグレードを実行してマスター・ノードをアップグレードするが、アウト・オブ場所アップグレードを実行してワーカー・ノードをアップグレードすることに注意してください。 ノード・プール内のワーカー・ノードで実行されているKubernetesのバージョンをアップグレードするには、元のノード・プールを、適切なKubernetesバージョンを実行する新しいワーカー・ノードを持つ新しいノード・プールに置き換えます。 元のノード・プール内の既存のワーカー・ノードを排水して、新しいポッドの開始を防ぎ、既存のポッドを削除すると、元のノード・プールを削除できます。

また、次の点にも注意してください。

  • Container Engine for Kubernetesは、アップグレード操作を明示的に開始するときに、マスター・ノードで実行されているKubernetesバージョンのみをアップグレードします。
  • マスター・ノードをKubernetesの新しいバージョンにアップグレードした後は、マスター・ノードを以前のKubernetesバージョンにダウングレードできません。
  • マスター・ノードで実行されているKubernetesのバージョンをアップグレードする前に、クラスタにデプロイされているアプリケーションが新しいKubernetesバージョンと互換性があることをテストする責任があります。 たとえば、既存のクラスタをアップグレードする前に、新しいKubernetesバージョンで新しい別のクラスタを作成して、アプリケーションをテストすることができます。
  • マスター・ノードで実行されているKubernetesのバージョンとワーカー・ノードは互換性があることが必要です(つまり、マスター・ノードのKubernetesバージョンは、ワーカー・ノードのKubernetesバージョンより前の2つのマイナー・バージョンである必要があります)。
  • マスター・ノードで現在実行されているKubernetesのバージョンが、最新のサポートされているバージョンの背後に1つ以上ある場合は、アップグレード先のバージョンを選択できます。 マスター・ノードで現在実行されているバージョンより前のバージョンのKubernetesにアップグレードする場合は、バージョンをスキップせずに、一連の中間バージョンにアップグレードする必要があります。 たとえば、マスター・ノードをKubernetesバージョン1.10.11からKubernetesバージョン1.12.7にアップグレードする場合は、まずマスター・ノードをバージョン1.10.11からバージョン1.11.9にアップグレードし、次にバージョン1.11.9からバージョン1.12.7にアップグレードする必要があります。

Container Engine for KubernetesによってサポートされるKubernetesバージョン

Container Engine for Kubernetesは、次のバージョンのKubernetesをサポートしています:

Kubernetesバージョン Container Engine for Kubernetesでサポートされているか 注意
1.10.x以前 いいえ 該当なし
1.11.9 はい

1.11.9より前のKubernetes 1.11.xのバージョン(たとえば、1.11.8)はサポートされなくなりました。 次のことはできません。

  • 1.11.x以前のバージョンを実行しているクラスタの作成
  • 1.11.x以前のバージョンを実行している既存のクラスタに新しいノード・プールを追加

1.11.9より前の1.11.xバージョンを実行しているクラスタがある場合、Oracleでは、これらのクラスタをバージョン1.11.9またはバージョン1.12.7にアップグレードすることを強くお薦めします。

1.12.7 はい

1.12.7より前のKubernetes 1.12.xのバージョン(1.12.6など)はサポートされなくなりました。 次のことはできません。

  • 1.12.x以前のバージョンを実行しているクラスタの作成
  • 1.12.x以前のバージョンで実行されている既存のクラスタに新規ノード・プールを追加

1.12.7より前の1.12.xバージョンを実行しているクラスタがある場合、Oracleでは、それらのクラスタをバージョン1.12.7にアップグレードすることを強くお薦めします。