7.. 產生設定檔

預計完成時間:3 天

可操作元件擁有者:INV

技能設定檔:部署工程師

您需要 cellconfig 才能啟動 Google Distributed Cloud (GDC) 氣隙隔離執行個體。定義 Distributed Cloud API 物件的初始集合,包括執行個體硬體裝置和網路設定。

cellconfig 的格式為一組 Kubernetes 自訂資源,這些資源會整理在 YAML 檔案的目錄中。

如要執行 gdcloud CLI 指令,您必須在 /root 資料夾中建立工作目錄,並使用下列指令變更 $PATH 變數:

PATH=$PATH:/root/WORKING_DIRECTORY

7.1. 總覽

如要建立 Distributed Cloud cellconfig,請執行下列步驟:

  1. 確認收到硬體裝置規格檔案:devices.csv
  2. 確認收到網路線材規格檔案:cables.csv
  3. 產生客戶輸入問卷 (CIQ) 檔案:ciq.yaml
  4. 產生執行個體密鑰檔案:secrets.yaml。
  5. 確認收到裝置授權目錄:licenses/
  6. 使用上述輸入內容執行 gdcloud system assets create 指令,建立 cellconfig。

devices.csv (裝置識別) 檔案先前稱為 deid.csv 檔案。您可以使用 gdcloud system assets format-deid 指令,將先前的檔案轉換為新檔案格式。

7.1.1. devices.csv

devices.csv 檔案會指定 Distributed Cloud 執行個體中的所有硬體裝置。如需檔案和預期格式的完整說明,請參閱 devices.csv 說明文件

7.1.2. cables.csv

cables.csv 檔案會詳細列出 Distributed Cloud 執行個體中硬體裝置的所有連線。如需檔案和預期格式的完整說明,請參閱 cables.csv 說明文件

根據 ciq 中指定的設定,修改 cables.csv 檔案中指定的一組資料連線。

首先,請判斷所需的資料上行連結數量:

  • 所有 Distributed Cloud 執行個體都需要每個邊界葉片交換器有 2 個上行鏈路 (總共 4 個),才能連線至客戶資料網路。
  • 如果設定連線至本機 OCIT 執行個體,每個邊界葉片交換器都需要 2 個上行鏈路 (總共 4 個)。
  • 每個邊界葉片交換器都需要 2 個上行鏈路 (總共 4 個),才能連線至遠端 OIC。

接著,請決定所需的管理上行連結數量。

  • 如要設定與本機 OIC 執行個體的連線,每個管理匯總交換器都需要 2 個上行連結 (總共 4 個)。
  • 如果設定連線至遠端 OCIT,則每個管理匯總交換器都需要 2 個上行鏈路 (總共 4 個)。

舉例來說,如果目前的 Distributed Cloud 執行個體已連線至本機 OCIT,並使用多區域互連與其他 Distributed Cloud 執行個體對等互連,同時也連線至遠端 OCIT 執行個體,則:

  • 每個邊界葉片交換器都需要 6 個上行鏈路 (總共 12 個資料上行鏈路)
  • 每個管理匯總交換器都需要 4 個上行鏈路 (管理上行鏈路總共 8 個)

每個外部連線包含兩條纜線,分別對應 cables.csv 中的兩列:

  • 一條連接線,可從交換器連到與交換器位於同一機架的配線架背面。例如:
    • 36,kb-ab-aggsw01,Eth1/31,41,kb-ab-ppl01,c4-smf-port1-bk,(1) R8T17A + (1) R8S79A,(1) QSFP-100G-CWDM4-S + (1) F92ERQ1Q1SNM001,1 meter,,SMF,flag,Right,Link to Customer Border 05 (100G),back,kb-ab-aggsw01:Eth1/31<>kb-ab-ppl01:c4-smf-port1-bk
    • 這個連線的配線架裝置通訊埠必須有 -bk 後置字元。
  • 一條連接配線架正面和「虛擬」外部裝置的纜線
    • 36,kb-ab-ppl01,c4-smf-port1-ft,41,ext-kb-ab-aggsw01,Eth1/31,(1) R8T17A + (1) R8S79A,(1) QSFP-100G-CWDM4-S + (1) F92ERQ1Q1SNM001,1 meter,,SMF,flag,Right,Link to Customer Border 05 (100G),front,kb-ab-ppl01:c4-smf-port1-ft<>ext-kb-ab-aggsw01:Eth1/31
    • 這次連接時,配線架裝置的連接埠必須與第一次連接時的連接埠相同,但後綴為 -ft,而非 -bk
    • 這個連線的「虛擬」外部裝置名稱必須符合下列格式:ext-<name-of-originating-switch>
    • 建立這項連線時,「虛擬」外部裝置的通訊埠必須與交換器上的原始通訊埠相符。

計算所需的上行鏈路連線總數,並確保 cables.csv 輸入檔案包含邊界葉片交換器和管理匯總交換器上所有必要上行鏈路連線的纜線規格。

如有必要新增上行連結:

  1. 找出配線架上未使用的連接埠。
  2. 為必要的上行連結新增纜線規格。
  3. 在 Distributed Cloud 執行個體上安裝新纜線,以建立新的上行連結。

7.1.3. ciq.yaml

ciq.yaml 檔案包含設定 Distributed Cloud 執行個體所需的所有客戶環境詳細資料。如要完整瞭解檔案及其預期格式,請參閱 ciq.yaml 說明文件

7.1.4. secrets.yaml

secrets.yaml 包含 Distributed Cloud 執行個體密鑰。 使用上述輸入內容,產生初始 secrets.yaml 檔案範本。

gdcloud system assets generate-secrets-template \
  --devices ./devices.csv \
  --cables ./cables.csv \
  --ciq ./ciq.yaml \
  --output ./secrets.yaml

您需要更新 secrets.yaml,將所有 TO-BE-FILLED 值替換成要用於各裝置的密碼。密碼長度至少要有八個字元。

7.1.5. licenses/

licenses/ 目錄包含 Distributed Cloud 執行個體硬體和軟體基礎架構元件的所有授權。如要完整瞭解目錄及其預期格式,請參閱授權說明文件

7.1.6. 建立 cellconfig

使用上述所有輸入內容,建立 cellconfig:

gdcloud system assets create \
  --devices ./devices.csv \
  --cables ./cables.csv \
  --ciq ./ciq.yaml \
  --license-dir ./licenses/ \
  --secrets secrets.yaml \
  --output ./output

詳情請參閱 INV-E1001 或相關錯誤代碼執行手冊。

如要確認切換作業沒有問題,請執行下列指令:

gdcloud system preinstall install --config <cellcfg> --config-file-only

7.2. 潛在問題

7.2.1. 注意儲存格設定中的儲存格 ID

簡言之,有時 devices.csvcables.csv 的儲存格 ID 錯誤,因此產生的儲存格設定檔會包含錯誤的資源名稱。

解決方法:檢查儲存格設定檔,確認資源名稱的前置字串符合預期。

舉例來說,如果儲存格 ID 為 ai,所有資源名稱都必須以 ai- 開頭。如果部分檔案的前置字元不同,請務必先修正問題。

7.2.2. 缺少防火牆 MAC 位址

摘要:從 HPE 收到的 devices.csv 檔案缺少 Palo Alto 防火牆的 MAC 位址。

解決方法:

如果是第一次,請使用預設憑證存取 Palo Alto 裝置。

如果沒有憑證,請按照這篇 Palo Alto 指南設定憑證。

存取後,請執行下列指令取得裝置的 MAC 位址,並將這些位址新增至 devices.csv 檔案的 nic3mac 欄:

show system info

7.2.3. 缺少 HSM MAC 位址

摘要:從 HPE 收到的 devices.csv 檔案缺少 HSM 裝置的 MAC 位址。

解決方法 (適用於每個 HSM 裝置):

  1. 透過序列控制台登入裝置。

  2. 找出管理網路介面的 MAC 位址。

    ip -brief link \
        | grep --color=never '^e' \
        | grep -v DOWN \
        | grep -o -E --color=none '([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}' \
        | grep -vf <(nmcli \
            | grep i40e \
            | cut -d "," -f 2 \
            | sed -e 's/^[[:space:]]*//' \
            | sed 's/[A-Z]/\L&/g'))
    

    以下範例顯示執行指令後取得的 MAC 位址輸出內容:

    ksadmin@ciphertrust:~$ ip -brief link \
        | grep --color=never '^e' \
        | grep -v DOWN \
        | grep -o -E --color=none '([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}' \
        | grep -vf <(nmcli \
            | grep i40e \
            | cut -d "," -f 2 \
            | sed -e 's/^[[:space:]]*//' \
            | sed 's/[A-Z]/\L&/g'))
    00:15:b2:b0:3e:80
    
  3. 編輯 devices.csv,然後在裝置的 nic3mac 欄中輸入管理 MAC 位址。

  4. 編輯裝置的 devices.csv 欄,然後輸入 mgmt0nic3_MGMT_port_name

  5. 找出第一個資料平面網路介面的 MAC 位址。

    export DATA0_MAC=$(nmcli | grep i40e | cut -d "," -f 4 \
      | sed 's/port//g' \
      | sed -e 's/^[[:space:]]*//' \
      | sed 's/[A-Z]/\L&/g' \
      | sed 's/.\{2\}/&:/g' \
      | sed 's/:$//g' \
      | sort | head -1); echo ${DATA0_MAC}
    
  6. 編輯 devices.csv,並在裝置的 nic1mac 欄中輸入 DATA0_MAC 位址。

  7. 編輯裝置的 devices.csv 欄,然後輸入 data0nic1_Data1_port_name

  8. 找出第二個資料平面網路介面的 MAC 位址。

    export DATA1_MAC=$(nmcli | grep i40e | cut -d "," -f 4 \
      | sed 's/port//g' \
      | sed -e 's/^[[:space:]]*//' \
      | sed 's/[A-Z]/\L&/g' \
      | sed 's/.\{2\}/&:/g' \
      | sed 's/:$//g' \
      | sort | tail -1); echo ${DATA1_MAC}
    
  9. 編輯 devices.csv,並在裝置的 nic2mac 欄中輸入 DATA1_MAC 位址。

  10. 編輯裝置的 devices.csv 欄,然後輸入 data1nic2_Data2_port_name

7.2.4. 缺少物件儲存空間的序號

摘要:從 HPE 收到的 devices.csv 檔案缺少物件儲存裝置的序號。

解決方法:如果在產生設定時收到類似 serial number () should be alphanumeric during cellcfg validation 的錯誤訊息,且參照的裝置類型為 xx-ac-objs0n,您必須復原裝置的序號。你可以在電器頂部的列印滑出式標籤上找到序號。序號必須放在 devices.csv 檔案的 serial_number 欄中。