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

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

DHCP かまたは静的か

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

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

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

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

管理クラスタは 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 アドレス数

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

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

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

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

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

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

例:

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

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

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

4

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

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

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

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

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

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 アドレスを追加する

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

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG--config USER_CLUSTER_CONFIG

以下を置き換えます。

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

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