クラスタのネットワークを設定するには

クラスタのすべてのメンバーは同一のネットワーク設定を持つ必要があります。 メンバーごとに異なってもよい設定は bridge.external_interfacesparentbgp.ipv4.nexthopbgp.ipv6.nexthop だけです。 詳細は メンバー設定 を参照してください。

追加のネットワークを作成する際は以下の 2 ステップで行います:

  1. すべてのクラスタメンバー上で新しいネットワークを定義し設定します。 たとえば、3 つのメンバーを持つクラスタでは以下のようにします:

    incus network create --target server1 my-network
    incus network create --target server2 my-network
    incus network create --target server3 my-network
    

    注釈

    メンバー固有の設定キーは bridge.external_interfacesparentbgp.ipv4.nexthopbgp.ipv6.nexthop だけを渡せます。 他の設定キーを渡すとエラーになります。

    これらのコマンドはネットワークを定義しますが作成はしません。 incus network list を実行するとこのネットワークは "pending" と表示されます。

  2. すべてのクラスタメンバーでネットワークを実在化させるには以下のコマンドを実行します:

    incus network create my-network
    

    注釈

    このコマンドにメンバー固有ではない設定キーを追加できます。

    ネットワークを定義した際のクラスタメンバーがいない、あるいはクラスタメンバーがダウンしている場合はエラーになります。

クラスタ内にネットワークを作成する も参照してください。

個別の REST API とクラスタネットワーク

クライアントの REST API エンドポイント用とクラスタメンバー間の内部トラフィック用で別のネットワークを設定できます。 たとえば、DNS ラウンドロビンで REST API に仮想アドレスを使う場合にこの分離は役立ちます。

そうするためには、cluster.https_address(クラスタ内部トラフィック用のアドレス)と core.https_address(REST API のアドレス)に異なるアドレスを指定する必要があります:

  1. 通常通りクラスタを作成し、クラスタ内部トラフィックに使うクラスタのアドレスを忘れずに使用する。 このアドレスは cluster.https_address で設定します。

  2. メンバーがジョインした後、 REST API のアドレスを core.https_address で設定する。 たとえば:

    incus config set core.https_address 0.0.0.0:8443
    

    注釈

    core.https_address はクラスタメンバーに固有ですので、異なるメンバーに異なるアドレスを設定できます。 メンバーに複数のインターフェースでリッスンするようにワイルドカードアドレスを使用することもできます。