14.2.3. namespace の手動で割り当てられた egress IP アドレスの設定

OpenShift Container Platform で、1 つ以上の egress IP アドレスを namespace に関連付けることができます。

前提条件

  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • OpenShift CLI (oc) がインストールされている。

手順

  1. 以下の JSON オブジェクトを必要な IP アドレスで指定して、NetNamespace オブジェクトを更新します。

     $ oc patch netnamespace <project_name> --type=merge -p \
      '{
        "egressIPs": [
          "<ip_address>"
        ]
      }'

    ここでは、以下のようになります。

    <project_name>
    プロジェクトの名前を指定します。
    <ip_address>
    egressIPs 配列の 1 つ以上の egress IP アドレスを指定します。

    たとえば、project1 プロジェクトを IP アドレス 192.168.1.100 および 192.168.1.101 に割り当てるには、以下を実行します。

    $ oc patch netnamespace project1 --type=merge \
      -p '{"egressIPs": ["192.168.1.100","192.168.1.101"]}'

    高可用性を提供するには、egressIPs の値を異なるノードの 2 つ以上の IP アドレスに設定します。複数の egress IP アドレスが設定されている場合、Pod はすべての egress IP アドレスをほぼ均等に使用します。

    注記

    OpenShift SDN は NetNamespace オブジェクトを管理するため、既存の NetNamespace オブジェクトを変更することによってのみ変更を加えることができます。新規 NetNamespace オブジェクトは作成しません。

  2. egress IP をノードホストに手動で割り当てます。egressIPs パラメーターを、ノードホストの HostSubnet オブジェクトに設定します。以下の JSON を使用して、そのノードホストに割り当てる必要のある任意の数の IP アドレスを含めることができます。

    $ oc patch hostsubnet <node_name> --type=merge -p \
      '{
        "egressIPs": [
          "<ip_address>",
          "<ip_address>"
          ]
      }'

    ここでは、以下のようになります。

    <node_name>
    ノード名を指定します。
    <ip_address>
    IP アドレスを指定します。egressIPs 配列に複数の IP アドレスを指定できます。

    たとえば、node1 に Egress IP 192.168.1.100192.168.1.101、および 192.168.1.102 が設定されるように指定するには、以下を実行します。

    $ oc patch hostsubnet node1 --type=merge -p \
      '{"egressIPs": ["192.168.1.100", "192.168.1.101", "192.168.1.102"]}'

    直前の例では、project1 のすべての egress トラフィックは、指定された egress IP をホストするノードにルーティングされてから、その IP アドレスに Network Address Translation (NAT) を使用して接続されます。