2.8. OI ネットワーク プロビジョニング GDC 接続

完了までの推定時間: 6 ~ 8 時間

操作可能なコンポーネントのオーナー: PNET

2.8.1. 概要

このプロセスでは、Operations Suite Infrastructure(OI)ネットワークと GDC ネットワークが接続を確立できるようにする構成ファイルがプロビジョニングされます。

これらの手順では、一部の GDC ファイルへのアクセスと、ランタイム ネットワーク情報を取得するための GDC インスタンスのルート管理クラスタへの接続が必要です。

2.8.2. 始める前に

デプロイ プロセスのこの段階では、次の条件を満たしている必要があります。

  1. 両方の OIR スイッチがケーブル接続され、電源がオンになり、適切なバージョンにアップグレードされ、ベース構成と ACL 構成が適用されている。

  2. 両方の OIF ファイアウォールがケーブル接続され、電源がオンになり、適切なバージョンにアップグレードされ、FIPS-CC モードが有効になり、基本構成が適用されている。

  3. GDC 接続のプロビジョニング全体を完了するには、GDC インスタンスでネットワーク ブートストラップが完了し、kind クラスタからルート管理クラスタに移動している必要があります。

2.8.3. 準備

次の手順に備えて、次の情報を収集し、環境変数を設定して環境を準備します。

OI は、ローカルまたはリモートの 2 つの方法で接続できます。ローカル接続は、同じデータセンター内のラック間のファイバー接続を使用して、OI を GDC に直接接続します。リモート接続は、長距離トランスポートを使用して別のロケーションに接続します。この仕様は、GDC 相互接続構成のプロビジョニングに必要な interconnect.yaml ファイルで指定できます。このファイルには、GDC 相互接続の構成に必要なすべての情報が含まれています。

2.8.3.1. 相互接続 YAML 仕様

属性
説明

zones
[ ] map
OI デプロイが接続する必要がある GDC セルに関する情報。

GDC セルのリストに接続するには、各ゾーンの各 GDC セルの情報を含む zones のリストを指定します。
ゾーン オプション
例:
zones:
- zoneName: kb
- uplinkSpeed: 10
localInstanceIDs: 2

remoteInstanceIDs:
- 1
- cellCfg: path/to/cellcfg

- zoneName: ah
- uplinkSpeed: 100
localInstanceIDs: 3

- cellCfg: path/to/cellcfg

2.8.3.2. ゾーン オプション

interconnect.yaml ファイル内の GDC セルに関する情報を伝達します。

属性
説明
使用量
zoneName
文字列
OI デプロイが接続する必要がある GDC セルの略称。
zones:
- zoneName: kb
uplinkSpeed
uint32
(省略可)接続の上りリンク速度(10 または 100)を指定します。 値:10100
デフォルト: 10

uplinkSpeed: 100
localInstance
int
ocit.yaml ファイルの OI デプロイ サイトの InstanceID
ローカル接続は、同じデータセンター内のラック間の光ファイバー接続を使用して、Operations Suite Infrastructure Core Rack(OIR)サイトを GDC に直接接続します。
zones:
- zoneName: kb
localInstanceIDs: 1
remoteInstance
[ ] int
ocit.yaml ファイルの OI デプロイサイトの InstanceID(s)
リモート接続は、長距離転送を使用して別の場所または複数の場所に接続します。remoteInstance 値のリストを指定して、すべての OIR サイトの構成を生成し、指定された GDC セルに接続できます。
zones:
- zoneName: kb
remoteInstanceIDs:
- 1



zones:
- zoneName: kb
remoteInstanceIDs:
- 1

- 2

- 3



cellCfg
文字列
相互接続に関するすべての情報を含む GDC セル構成パス。これは、OIR のすべての相互接続構成を生成するために使用されます。interconnect.yaml ファイルで `cellCfg` が指定されていない場合、`zoneName` が GDC セルの省略形と一致すると、occonfig ツールは GDC セル ブートストラップで Kubernetes API を使用して相互接続情報を取得します。
zones:
- cellCfg: /path/to/cellcfg

ローカル接続の場合は、interconnect.yaml ファイルを次のように構成します。

zones:
  - zoneName: ah
    uplinkSpeed: 100
    localInstanceID: 1
    cellCfg: /path/to/cellcfg

リモート接続の場合は、interconnect.yaml ファイルを次のように構成します。

zones:
  - zoneName: ah
    uplinkSpeed: 100
      remoteInstanceIDs:
      - 2
    cellCfg: /path/to/cellcfg

マルチサイト OI デプロイの場合は、interconnect.yaml ファイルを次のように指定します。

zones:
  - zoneName: ah
    uplinkSpeed: 100
    localInstanceID: 1
    remoteInstanceIDs:
      - 2
    cellCfg: /path/to/cellcfg

2.8.3.3. WAN オプション

次の表に、interconnect.yaml ファイルの L3-WAN に関する情報を示します。

L3-WAN 構成をプロビジョニングする場合は、生成されたベース構成で L3-WAN 機能フラグが有効になり、wan-transit ASN が宣言されていることを確認します。

属性 説明
wanName 文字列 OIC に接続する L3-WAN の名前。これは、インターフェースと BGP ネイバーシップの説明に使用されます。
operationsCIDRs [ ] CIDR L3 WAN で想定され、OIC で許可されている CIDR ブロックのセット。これにより、お客様の NOC と OC-WORKSTATIONS 間の接続を設定できます。
インスタンス L3-WAN に接続する必要がある各インスタンスの構成。
instanceID 整数 L3-WAN への接続用に構成を生成する OIC インスタンスのインスタンス ID。
bgp L3-WAN の BGP 構成。
asn 整数 eBGP 接続を設定する L3-WAN PE ノードの BGP ASN。
ダウンロードすることや、 各 OCCORE スイッチの固有の構成。
deviceName 文字列 説明で使用されるデバイス名。ocit.yaml ファイル(ocit config generation)から生成された構成ファイル名と一致する必要があります。
アップリンク L3-WAN PE ノードに接続するポートの特定の構成。
uplinkName 文字列 インターフェースの説明に使用されるインターフェース名。
bgpPassword 文字列 ピアリングの BGP パスワード(クリアテキスト)。
ip 文字列 L3-WAN の PE ノードに接続するローカルポートの IPv4 アドレス。
ゲートウェイ 文字列 PE ノードに接続するリモートポートの IPv4 アドレス。BGP ネイバー アドレスにも使用されます。
サブネット 文字列 PE ノードに接続するインターフェースのサブネット定義。
ポート 整数 PE ノードへの接続に使用される OCCORE スイッチの物理ポート番号。
サブインターフェース 整数 物理ポートで使用されるサブインターフェース ID(dot1q タグ)(ある場合)。

2.8.3.3.1. 構成例

次の例は、Operations Suite Infrastructure Core Rack(OIR)が L3-WAN とピアリングし、occoresw01 に 2 つのアップリンク、occoresw02 に 1 つのアップリンクがある interconnect.yaml ファイルを示しています。

zones:
  - zoneName: kb
    uplinkSpeed: 10
    localInstanceID: 1
    cellCfg: /path/to/cellcfg
wan:
  - wanName:L3WANName
    operationsCIDRs:
      - ipFamily: IPv4
        ipv4: 172.22.48.0/24
      - ipFamily: IPv4
        ipv4: 172.22.49.0/24
      - ipFamily: IPv4
        ipv4: 172.22.50.0/24
      - ipFamily: IPv4
        ipv4: 172.22.51.0/24
    instances:
    - instanceID: 1
      bgp:
        asn: 65515
      devices:
        - deviceName: occoresw101
          uplinks:
          - uplinkName: AA
            bgpPassword: admin!123
            numberedIpGroup:
              ipFamily: IPv4
              ipv4:
                ip: 10.1.0.1
                subnet:
                  gateway: 10.1.0.0
                  subnet: 10.1.0.0/31
            port:
              port: 33
          - uplinkName: AB
            bgpPassword: admin!123
            numberedIpGroup:
              ipFamily: IPv4
              ipv4:
                ip: 10.1.0.3
                subnet:
                  gateway: 10.1.0.2
                  subnet: 10.1.0.2/31
            port:
              port: 34
              subinterface: 100
        - deviceName: occoresw102
          uplinks:
          - uplinkName: AC
            bgpPassword: admin!123
            numberedIpGroup:
              ipFamily: IPv4
              ipv4:
                ip: 10.2.0.3
                subnet:
                  gateway: 10.2.0.2
                  subnet: 10.2.0.2/31
            port:
              port: 35

2.8.4. スイッチ構成を生成する

これらの手順では、GDC への接続をプロビジョニングするためにネットワーク デバイスに適用するパッチ構成を生成します。

スイッチ構成を生成します。

occonfigtool generate cell config -c /path/to/interconnect.yaml -o path/to/ocit.yaml

これにより、サイトごとに次の構成ファイルが生成されます。

構成ファイル デバイス 関数
occoresw101.incremental occoresw101 GDC インスタンスへの接続用にデバイスにパッチを適用する構成
occoresw101.acl occoresw101 GDC ネットワークでトラフィックを適用するために ACL にパッチを適用する構成。
occoresw102.incremental occoresw102 GDC インスタンスへの接続用にデバイスにパッチを適用する構成
occoresw102.acl occoresw102 GDC ネットワークでトラフィックを適用するために ACL にパッチを適用する構成。
ocsw101.incremental ocs1w01 GDC インスタンスへの接続用にデバイスにパッチを適用する構成
ocsw101.acl ocsw101 GDC ネットワークでトラフィックを適用するために ACL にパッチを適用する構成。
ocsw102.incremental ocsw102 GDC インスタンスへの接続用にデバイスにパッチを適用する構成
ocsw102.acl ocsw102 GDC ネットワークでトラフィックを適用するために ACL にパッチを適用する構成。

2.8.5. ファイアウォール ポリシーを生成する

ファイアウォール ルールを生成するには、occonfigtool がルート管理クラスタの Kubernetes API にアクセスする必要があります。KUBECONFIG 環境変数が root-admin-kubeconfig に設定されていることを確認します。

export KUBECONFIG=/root/release/root-admin/root-admin-kubeconfig
export OCIT_CONFIG_FILE=/path/to/ocit.yaml
export OCIT_INTERCONNECT_CONFIG_FILE=/path/to/interconnect.yaml

次のコマンドを実行して、ファイアウォール ルールを生成します。

occonfigtool generate fwrules -c ${OCIT_INTERCONNECT_CONFIG_FILE:?} -o ${OCIT_CONFIG_FILE:?}
構成ファイル デバイス 関数
firewall-rules.base occorefw01 GDC インスタンスへの接続用にデバイスにパッチを適用する構成

2.8.6. 構成を適用する

出力ファイルを使用して、前の手順と同じ手順で、スイッチファイアウォールの各ネットワーク デバイスに構成を適用します。

2.8.7. GDC RoutePolicy リソースを更新する

GDC は、ルートポリシーを使用して、ルーティング テーブルにアドバタイズできるネットワークを適用します。

OI を外部ネットワークとして追加する場合は、新しいネットワークを想定するように RoutePolicy カスタム リソースを更新する必要があります。

これには、kubectl を使用してルート管理クラスタにアクセスする必要があります。適切な KUBECONFIG 変数が設定されていることを確認します。

export KUBECONFIG=/root/deploy/root-admin/root-admin-kubeconfig

確認するには、次の操作を行います。

kubectl get routepolicy -n gpc-system

次のような出力が表示されます。

NAME                                     AGE
customerpeering-routepolicy              19d
datacenter-routepolicy                   19d
mgmtnetworkoperationcenter-routepolicy   19d
networkoperationcenter-routepolicy       19d

これらの手順では、networkoperationcenter-routepolicymgmtnetworkoperationcenter-routepolicy を確認します。

2.8.7.1. データ ネットワーク ルートポリシーを修正する

ocinfo.opscenter.local.txt から、次のサブネット(ネットワークとプレフィックス長を含む)を取得します。

  • OCCORE-SERVERS(次の例では $OCCORE_SERVERS_NET として使用)
  • OC-WORKSTATIONS(次の例では $OC_WORKSTATIONS_NET として使用)

次の変数を入力して、これらの値を使用してルートポリシーを調整します。

export OCCORE_SERVERS_NET=$OCCORE_SERVERS_NET
export OC_WORKSTATIONS_NET=$OC_WORKSTATIONS_NET

次に例を示します。

export OCCORE_SERVERS_NET=172.21.0.0/24
export OC_WORKSTATIONS_NET=172.21.32.0/24

環境変数を設定したら、次の kubectl コマンドを実行してルートポリシーを更新します。

kubectl patch routepolicy/networkoperationcenter-routepolicy -n gpc-system \
  --type=json -p="[
    {
        'op': 'add',
        'path': '/spec/in/ipPrefixList/0',
        'value': {
            'action': 'Permit',
            'ipPrefix': '${OCCORE_SERVERS_NET:?}',
            'prefixLengthMatchers': [
                {
                    'operator': 'LE',
                    'prefixLength': 32
                }
            ]
        }
    }
]"

kubectl patch routepolicy/networkoperationcenter-routepolicy -n gpc-system \
  --type=json -p="[
    {
        'op': 'add',
        'path': '/spec/in/ipPrefixList/0',
        'value': {
            'action': 'Permit',
            'ipPrefix': '${OC_WORKSTATIONS_NET:?}',
            'prefixLengthMatchers': [
                {
                    'operator': 'LE',
                    'prefixLength': 32
                }
            ]
        }
    }
]"

出力例:

routepolicy.system.private.gdc.goog/networkoperationcenter-routepolicy patched

2.8.7.2. パッチ管理ネットワーク ルートポリシー

ocinfo.opscenter.local.txt から、次のサブネット(ネットワークとプレフィックス長を含む)を取得します。

  • OCCORE-JUMPHOSTS(次の例では $OCCORE_JUMPHOSTS_NET として使用)
  • OCCORE-ILOS(次の例では $OCCORE_ILOS_NET として使用)

次の変数を入力して、これらの値を使用してルートポリシーを調整します。

export OCCORE_JUMPHOSTS_NET=$OCCORE_JUMPHOSTS_NET
export OCCORE_ILOS_NET=$OCCORE_ILOS_NET

次に例を示します。

export OCCORE_JUMPHOSTS_NET=172.21.2.0/27
export OCCORE_ILOS_NET=172.21.2.32/27

環境変数を設定したら、次の kubectl コマンドを実行してルートポリシーを更新します。

kubectl patch routepolicy/mgmtnetworkoperationcenter-routepolicy -n gpc-system \
  --type=json -p="[
    {
        'op': 'add',
        'path': '/spec/in/ipPrefixList/0',
        'value': {
            'action': 'Permit',
            'ipPrefix': '${OCCORE_JUMPHOSTS_NET:?}',
            'prefixLengthMatchers': [
                {
                    'operator': 'LE',
                    'prefixLength': 32
                }
            ]
        }
    }
]"

kubectl patch routepolicy/mgmtnetworkoperationcenter-routepolicy -n gpc-system \
  --type=json -p="[
    {
        'op': 'add',
        'path': '/spec/in/ipPrefixList/0',
        'value': {
            'action': 'Permit',
            'ipPrefix': '${OCCORE_ILOS_NET:?}',
            'prefixLengthMatchers': [
                {
                    'operator': 'LE',
                    'prefixLength': 32
                }
            ]
        }
    }
]"

出力例:

routepolicy.system.private.gdc.goog/mgmtnetworkoperationcenter-routepolicy patched