預計完成時間:6 到 8 小時
可操作元件擁有者:PNET
2.8.1. 總覽
這個步驟會佈建設定檔,讓 Operations Suite 基礎架構 (OI) 和 GDC 網路建立連線。
這些步驟需要存取部分 GDC 檔案,並連線至 GDC 執行個體的根管理員叢集,才能擷取執行階段網路資訊。
2.8.2. 事前準備
在部署程序的這個階段,必須符合下列條件:
兩個 OIR 交換器都已接線、開機、升級至適當版本,並套用基本和 ACL 設定。
兩個 OIF 防火牆都已接上電纜、開機、升級至適當版本、啟用 FIPS-CC 模式,並套用基本設定。
如要完成整個 GDC 連線佈建程序,GDC 執行個體必須完成網路啟動程序,並從 Kind 叢集移至根管理員叢集。
2.8.3. 準備
請先收集下列資訊並設定環境變數,為後續步驟做好準備。
您可以透過本機或遠端連線兩種方式連線至 OI。
本機連線會使用相同資料中心機架間的光纖連線,直接將 OI 連線至 GDC。遠端連線會使用長途傳輸連線至不同地點。這項規格可透過 interconnect.yaml 檔案提供,這是佈建 GDC 互連設定的必要條件。
這個檔案包含設定 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 |
OI 部署網站的 InstanceID (來自 ocit.yaml 檔案)。本機連線會使用相同資料中心機架間的光纖連線,將 Operations Suite 基礎架構核心機架 (OIR) 站點直接連線至 GDC。 |
zones: |
remoteInstance[ ] int |
OI 部署網站的 InstanceID(s),來自 ocit.yaml 檔案。遠端連線會使用長途傳輸,連線至其他地點。 您可以提供 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 預期會使用的一組 CIDR 區塊,且 OIC 允許使用這些區塊。這有助於設定客戶 NOC 與 OC-WORKSTATIONS 之間的連線。 |
| 執行個體 | 需要連線至 L3-WAN 的每個執行個體設定。 | |
| instanceID | 整數 | 要產生設定的 OIC 執行個體 ID,以便連線至提供的 L3-WAN。 |
| bgp | L3-WAN 的 BGP 設定。 | |
| asn | 整數 | L3-WAN PE 節點的 BGP ASN,用於設定 eBGP 連線。 |
| 裝置 | 每個 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. 設定範例
以下範例顯示 interconnect.yaml 檔案,其中 Operations Suite Infrastructure Core Rack (OIR) 與 L3-WAN 對等互連,occoresw01 有兩個上行鏈路,occoresw02 則有一個上行鏈路:
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 | 設定,以便修補 ACL,透過 GDC 網路強制執行流量。 |
| occoresw102.incremental | occoresw102 | 設定修補裝置,以便連線至 GDC 執行個體 |
| occoresw102.acl | occoresw102 | 設定,以便修補 ACL,透過 GDC 網路強制執行流量。 |
| ocsw101.incremental | ocs1w01 | 設定修補裝置,以便連線至 GDC 執行個體 |
| ocsw101.acl | ocsw101 | 設定,以便修補 ACL,透過 GDC 網路強制執行流量。 |
| ocsw102.incremental | ocsw102 | 設定修補裝置,以便連線至 GDC 執行個體 |
| ocsw102.acl | ocsw102 | 設定,以便修補 ACL,透過 GDC 網路強制執行流量。 |
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