IP ブロック ファイル

このページでは、Google Distributed Cloud の設定で使用される IP ブロック ファイルのフィールドについて説明します。

IP ブロック ファイルを使用して、一連のノードマシンと、マシンが接続されているネットワークを記述します。クラスタごとに個別の IP ブロック ファイルを作成します。管理クラスタ構成ファイルとユーザー クラスタ構成ファイルの両方に、network.ipMode.ipBlockFilePath というフィールドがあります。このフィールドには、IP ブロックの絶対パスまたは相対パスを指定します。

次の場合は、IP ブロック ファイルに IP アドレスとホスト名(必要な場合)のリストを記述します。

  • ユーザー クラスタ:

    • ユーザー クラスタ構成ファイルで network.ipMode.type"static" に設定されている場合は、ユーザー クラスタの IP ブロック ファイルにワーカーノードの IP アドレスのリストを記述します。

    • 管理クラスタ構成ファイルで infraConfigFilePath が構成されている場合(これによりトポロジ ドメインが有効になります)、ユーザー クラスタの IP ブロック ファイルに、コントロール プレーン ノードの IP アドレスのリストを記述します。ワーカーノードが DHCP を使用している場合でも、コントロール プレーン ノードの IP アドレスは常に静的 IP アドレスです。

  • 管理クラスタ:

    • 管理クラスタ構成ファイルで infraConfigFilePath が構成されている場合(これによりトポロジ ドメインが有効になります)、管理クラスタの IP ブロック ファイルにコントロール プレーン ノードの IP アドレスのリストを記述します。

    • 1.16 以前の非 HA 管理クラスタ: 管理クラスタの IP ブロック ファイルに、コントロール プレーン ノードとアドオンノードの IP アドレスのリストを記述します。

    • 1.16 以前の HA 管理クラスタ: IP ブロック ファイルに、アドオンノードの IP アドレスのリストを記述します。

    • 1.29 以前の kubeception ユーザー クラスタ: 管理クラスタの IP ブロック ファイルに、ユーザー クラスタのコントロール プレーン ノードの IP アドレスのリストを記述します。

テンプレート

IP ブロック ファイルのフィールドへの入力

このセクションでは、IP ブロック ファイルの各フィールドについて説明します。

blocks

オブジェクトの配列。それぞれがホストのセットを説明します。

blocks[i].netmask

文字列。一連のホストのサブネット マスク。例:

blocks:
- netmask: "255.255.252.0"

blocks[i].gateway

文字列。一連のホストのデフォルト ゲートウェイのアドレス。次に例を示します。

blocks:
- netmask: "255.255.252.0"
  gateway: "172.16.23.254"

blocks[i].ips

オブジェクトの配列。各オブジェクトには、個別の IP アドレスまたは IP アドレスの CIDR ブロックがあります。

  • オブジェクトに個別の IP アドレスがある場合、ホスト名を指定することもできます。

  • ip を CIDR ブロックに設定する場合は、hostname の値を指定しないでください。

  • hostname の値を指定しないと、Google Distributed Cloud はホスト名として vSphere の VM の名前を使用します。

blocks[i].isControlPlane

管理クラスタ構成ファイルで infraConfigFilePath が構成されていて、IP アドレスがコントロール プレーン ノードのものである場合は、isControlPlane: true を含めます。ユーザー クラスタのワーカーノードの場合は、デフォルト値が false であるため、false を指定するか、フィールドを省略します。

構成ファイルの例

このセクションでは、サンプル値が入力された構成をいくつか示します。

例 1

この例では、6 個の IP アドレス(2 個の個別のアドレスと 4 個のアドレスの CIDR ブロック)を指定しています。

blocks:
- netmask: "255.255.252.0"
  gateway: "203.0.113.1"
  ips:
  - ip: 198.51.100.10
    hostname: worker-node1
  - ip: 198.51.100.11
    hostname: worker-node2
  - ip: 198.51.100.12/30  # 198.51.100.12 - 198.51.100.15

例 2

この例は、トポロジ ドメイン用に構成された IP ブロック ファイルを示しています。

blocks:
- netmask: 255.255.255.0
  gateway: 100.115.222.254
  ips:
  - ip: 100.115.222.204
    hostname: worker-1
  - ip: 100.115.222.205
    hostname: cp-1
    isControlPlane: true
  - ip: 100.115.222.206
    hostname: cp-2
    isControlPlane: true
  - ip: 100.115.222.207
    hostname: cp-3
    isControlPlane: true
  - ip: 100.115.222.220/28 # 100.115.222.208 - 100.115.222.223
- netmask: 255.255.255.0
  gateway: 100.115.223.254
  ips:
  - ip: 100.115.223.206
    hostname: worker-2
  - ip: 100.115.223.220/28 # 100.115.223.208 - 100.115.223.223
- netmask: 255.255.255.0
  gateway: 100.115.224.254
  ips:
  - ip: 100.115.224.206
    hostname: worker-3
  - ip: 100.115.224.220/28 # 100.115.224.208 - 100.115.224.223

この IP ブロック ファイルの例では、3 つのサブネットから IP アドレスが予約され、各サブネットは blocks[i] で表されます。blocks[i].gateway は IP ブロックの識別子として機能するため、重要です。同じ IP アドレスを、vSphere Infrastructure 構成ファイルVSphereInfraConfig カスタム リソースの topologyDomains[i].network.gateway に追加します。

isControlPlane: true で構成された IP が 3 つあります。これは、これらの IP アドレスがコントロール プレーン ノード専用に予約されていることを示します。管理クラスタまたはユーザー クラスタの IP ブロック ファイルには、コントロール プレーン ノード用に予約された 3 つの IP アドレスが必要です。これらをクラスタのトポロジに従ってターゲット サブネットに予約します。

コントロール プレーン ノードは単一のトポロジ ドメインに存在する必要があるため、コントロール プレーン ノードの IP アドレスは同じ IP ブロックに存在する必要があります。