完了までの推定時間: 6 ~ 8 時間
操作可能なコンポーネントのオーナー: PNET
2.8.1. 概要
このプロセスでは、Operations Suite Infrastructure(OI)ネットワークと GDC ネットワークが接続を確立できるようにする構成ファイルがプロビジョニングされます。
これらの手順では、一部の GDC ファイルへのアクセスと、ランタイム ネットワーク情報を取得するための GDC インスタンスのルート管理クラスタへの接続が必要です。
2.8.2. 始める前に
デプロイ プロセスのこの段階では、次の条件を満たしている必要があります。
両方の OIR スイッチがケーブル接続され、電源がオンになり、適切なバージョンにアップグレードされ、ベース構成と ACL 構成が適用されている。
両方の OIF ファイアウォールがケーブル接続され、電源がオンになり、適切なバージョンにアップグレードされ、FIPS-CC モードが有効になり、基本構成が適用されている。
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: |
2.8.3.2. ゾーン オプション
interconnect.yaml ファイル内の GDC セルに関する情報を伝達します。
| 属性 |
説明 |
使用量 |
|---|---|---|
zoneName文字列 |
OI デプロイが接続する必要がある GDC セルの略称。 | zones: |
uplinkSpeeduint32 |
(省略可)接続の上りリンク速度(10 または 100)を指定します。 |
値:10、100デフォルト: 10uplinkSpeed: 100 |
localInstanceint |
ocit.yaml ファイルの OI デプロイ サイトの InstanceID。ローカル接続は、同じデータセンター内のラック間の光ファイバー接続を使用して、Operations Suite Infrastructure Core Rack(OIR)サイトを GDC に直接接続します。 |
zones: |
remoteInstance[ ] int |
ocit.yaml ファイルの OI デプロイサイトの InstanceID(s)。リモート接続は、長距離転送を使用して別の場所または複数の場所に接続します。 remoteInstance 値のリストを指定して、すべての OIR サイトの構成を生成し、指定された GDC セルに接続できます。 |
zones: zones: |
cellCfg文字列 |
相互接続に関するすべての情報を含む GDC セル構成パス。これは、OIR のすべての相互接続構成を生成するために使用されます。interconnect.yaml ファイルで `cellCfg` が指定されていない場合、`zoneName` が GDC セルの省略形と一致すると、occonfig ツールは GDC セル ブートストラップで Kubernetes API を使用して相互接続情報を取得します。 | zones: |
ローカル接続の場合は、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-routepolicy と mgmtnetworkoperationcenter-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