ノード IP アドレスを管理する

このドキュメントでは、Google Distributed Cloud の管理クラスタとユーザー クラスタに必要な IP アドレスの数について説明します。

DHCP かまたは静的か

ネットワークに DHCP サーバーがある場合は、管理クラスタまたはユーザー クラスタを構成して、ワーカーノードの IP アドレスを DHCP サーバーから取得するようにできます。クラスタ構成ファイルで、network.ipMode.type"dhcp" に設定します。

クラスタの静的 IP アドレスを指定する場合は、network.ipMode.type を「static」に設定します。

管理クラスタに必要な IP アドレスの数

高可用性(HA)管理クラスタには、コントロール プレーン ノードに使用できる IP アドレスが 3 つ必要です。

管理クラスタは、1 つ以上のユーザー クラスタを管理します。ユーザー クラスタで Controlplane V2 が有効になっている場合、ユーザー クラスタ コントロール プレーン ノードはユーザー クラスタで実行されます。Controlplane V2 が有効になっているユーザー クラスタは、管理クラスタに必要な IP アドレスの数には影響しません。

ユーザー クラスタで Controlplane V2 が有効になっていない場合、ユーザー クラスタのコントロール プレーンは管理クラスタ(kubeception)の 1 つ以上のノードで実行されます。kubeception の場合、管理クラスタには以下で使用する IP アドレスも必要です。

  • HA ユーザー クラスタごとに、管理クラスタはユーザー クラスタのコントロール プレーンを実行するために 3 つのノードが必要

  • 非 HA ユーザー クラスタごとに、管理クラスタはユーザー クラスタのコントロール プレーンを実行するために 1 つのノードが必要

    Controlplane V2 が有効になっていない場合は、ユーザー クラスタを追加する前に、ユーザー クラスタのコントロール プレーン ノード向けに十分な IP アドレスが管理クラスタで使用できることを確認してください。DHCP を使用している場合は、DHCP サーバーが追加の IP アドレスを提供できることを確認してください。

例:

説明 IP アドレスの数
Controlplane V2 ユーザー クラスタを管理する HA 管理クラスタ
3 つのコントロール プレーン ノード

3
HA kubeception ユーザー クラスタを管理する HA 管理クラスタ
3 つのコントロール プレーン ノード + 3 つのユーザー クラスタ コントロール プレーン ノード

6

ユーザー クラスタに必要な IP アドレスの数

  • Controlplane V2 が有効になっている場合(デフォルト)、ユーザー クラスタでコントロール プレーンを実行する 1 つまたは 3 つのノード。

    • 非高可用性(非 HA)ユーザー クラスタ用の 1 つのノード

    • HA ユーザー クラスタ用の 3 つのノード

  • ワーカーノード(ワークロードを実行するノード)ごとに 1 つの IP アドレス

  • アップグレード、更新、自動修復中に一時的なノードとして使用される追加の IP アドレス。

Controlplane V2 が有効になっている場合は、ユーザー クラスタにワーカーノードを追加する前に、コントロール プレーン ノード向けに十分な数の IP アドレスがユーザー クラスタで使用できることを確認してください。DHCP を使用している場合は、DHCP サーバーが追加の IP アドレスを提供できることを確認してください。

例:

説明 IP アドレスの数
非 HA ユーザー クラスタ、Controlplane V2
3 つのワーカーノード + 1 つのコントロール プレーン ノード + 1 つの追加ノード

5
HA ユーザー クラスタ、Controlplane V2
3 つのワーカーノード + 3 つのコントロール プレーン ノード + 1 つの追加ノード

7
ユーザー クラスタ、kubeception
3 つのワーカーノード + 1 つの追加ノード

4

管理クラスタの静的 IP アドレス

このセクションでは、管理クラスタの静的 IP アドレスを管理する方法について説明します。

管理クラスタのコントロール プレーン ノードには、IP アドレスを 3 つ指定する必要があります。これらのアドレスは、管理クラスタ構成ファイルの network.controlPlaneIPBlock セクションで指定します。

kubeception ユーザー クラスタを作成する場合は、ユーザー クラスタのコントロール プレーン ノードに使用する IP アドレスを指定する必要があります。これらのアドレスを IP ブロック ファイルで指定します。次に、管理クラスタ構成ファイルの network.ipMode.ipBlockFilePath フィールドに IP ブロック ファイルのパスを指定します。

たとえば、HA と非 HA の 2 つの kubeception ユーザー クラスタを作成するとします。管理クラスタにはコントロール プレーン ノードが、HA ユーザー クラスタ用に 3 つ、非 HA ユーザー クラスタ用に 1 つあります。そのための IP アドレス 4 つと、更新時に使用する追加の IP アドレス 1 つを指定する必要があります。

5 つの IP アドレスが指定されている IP ブロック ファイルの例を次に示します。

blocks:
  - netmask: 255.255.255.0
    gateway: 172.16.20.1
    ips:
    - ip: 172.16.20.50
      hostname: admin-vm-1
    - ip: 172.16.20.51
      hostname: admin-vm-2
    - ip: 172.16.20.52
      hostname: admin-vm-3
    - ip: 172.16.20.53
      hostname: admin-vm-4
    - ip: 172.16.20.54
      hostname: admin-vm-5

管理クラスタに IP アドレスを追加する

管理クラスタ内のノードで使用できる IP アドレスを増やすには、IP ブロック ファイルにアドレスを追加してから、次のコマンドを実行して管理クラスタを更新します。

gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG--config ADMIN_CLUSTER_CONFIG

次のように置き換えます。

  • ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス

  • ADMIN_CLUSTER_CONFIG: 管理者ユーザー クラスタの構成ファイルのパス

ユーザー クラスタの静的 IP アドレス

このセクションでは、ユーザー クラスタの静的 IP アドレスを管理する方法について説明します。

ユーザー クラスタ ノードで使用可能な IP アドレスを判別する

ユーザー クラスタの IP ブロック ファイルは、ユーザー クラスタ構成ファイルの network.ipMode.ipBlockFilePath の値としてリストされます。IP ブロック ファイルでは、ユーザー クラスタ内のワーカーノードで使用可能な IP アドレスを確認できます。

例として、4 つの IP アドレスが指定されている IP ブロック ファイルを次に示します。

blocks:
  - netmask: 255.255.255.0
    gateway: 172.16.20.1
    ips:
    - ip: 172.16.20.55
      hostname: user-vm-1
    - ip: 172.16.20.56
      hostname: user-vm-2
    - ip: 172.16.20.57
      hostname: user-vm-3
    - ip: 172.16.20.58
      hostname: user-vm-4

この IP ブロック ファイルには、ユーザー クラスタのコントロール プレーン ノードのアドレスが含まれていません。ユーザー クラスタで Controlplane V2 が有効になっている場合、コントロール プレーン ノードの IP アドレスはユーザー クラスタ構成ファイルの network.controlPlaneIPBlock セクションにあります。それ以外の場合、ユーザー クラスタのコントロール プレーン ノードの IP アドレスは、管理クラスタの IP ブロック ファイルにあります。

ユーザー クラスタに IP アドレスを追加する

ユーザー クラスタ内のノードで使用できる IP アドレスを増やすには、IP ブロック ファイルにアドレスを追加してから、次のコマンドを実行してユーザー クラスタを更新します。

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG--config USER_CLUSTER_CONFIG

次のように置き換えます。

  • ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス

  • USER_CLUSTER_CONFIG: ユーザー クラスタの構成ファイルのパス