NSX Container Plug-in (NCP) 會以 Docker 映像的形式提供。NCP 應執行於基礎結構服務的節點上。不建議在主節點上執行 NCP。

程序

  1. 下載 NCP Docker 映像。
    檔案名稱為 nsx-ncp-xxxxxxx.tar,其中, xxxxxxx 是組建編號。
  2. 下載 NCP ReplicationController yaml 範本。
    檔案名稱為 ncp-rc.yml。您可以編輯此檔案,或將其用作您自己的範本檔範例。
  3. 將 NCP Docker 映像載入至您的映像登錄。
        docker load -i <tar file>
  4. (選擇性) 下載 NSXError 物件的自訂資源定義的 yaml 範本。
    檔案名稱為 nsx-error-crd.yaml
  5. (選擇性) 建立自訂資源。
        kubectl create -f nsx-error-crd.yaml
  6. 編輯 ncp-rc.yml
    將映像名稱變更為已載入的映像名稱。

    指定 nsx_api_managers 參數。您可以指定單一 NSX Manager 的 IP 位址,或者 NSX Manager 叢集中三個 NSX Manager 的 IP 位址 (以逗號分隔),或是 NSX Manager 叢集的虛擬 IP 位址。例如:

        nsx_api_managers = 192.168.1.180
    or
        nsx_api_managers = 192.168.1.181,192.168.1.182,192.168.1.183

    (選用) 在 [nsx_v3] 區段中指定參數 ca_file。該值應為用來驗證 NSX Manager 伺服器憑證的 CA 服務包檔案。若未設定,則系統將會使用系統根 CA。如果您為 nsx_api_managers 指定一個 IP 位址,則指定一個 CA 檔案。如果您為 nsx_api_managers 指定三個 IP 位址,則可以指定一或三個 CA 檔案。如果您指定一個 CA 檔案,它將用於這三個管理程式。如果您指定三個 CA 檔案,每個檔案將用於 nsx_api_managers 中對應的 IP 位址。例如,

        ca_file = ca_file_for_all_mgrs
    or
        ca_file = ca_file_for_mgr1,ca_file_for_mgr2,ca_file_for_mgr3

    指定參數 nsx_api_cert_filensx_api_private_key_file 以便用於 NSX-T Data Center 的驗證。

    nsx_api_cert_file 是 PEM 格式之用戶端憑證檔案的完整路徑。此檔案的內容應如下所示:

        -----BEGIN CERTIFICATE-----
        <certificate_data_base64_encoded>
        -----END CERTIFICATE-----

    nsx_api_private_key_file 是 PEM 格式之用戶端私密金鑰檔案的完整路徑。此檔案的內容應如下所示:

        -----BEGIN PRIVATE KEY-----
        <private_key_data_base64_encoded>
        -----END PRIVATE KEY-----

    如果入口控制器設定為在 NAT 模式中執行,請指定參數 ingress_mode = nat

    依預設,子網路首碼 24 會用於所有從網繭邏輯交換器之 IP 區塊配置的子網路。若要使用不同的子網路大小,請更新 [nsx_v3] 區段中的 subnet_prefix 選項。

    依預設,會啟用 HA (高可用性)。您可以使用下列規格來停用 HA:
    [ha]
    enable = False
    (選用) 使用 ncp.ini 中的 NSXError 來啟用錯誤報告。依預設,會停用此設定。
    [nsx_v3]
    enable_nsx_err_crd = True
    備註: 在 yaml 檔案中,您必須指定為 ncp.ini 產生的 ConfigMap 應掛接為「唯讀」磁碟區。下載的 yaml 檔案已具有此規格而不應變更。
  7. 建立 NCP ReplicationController。
        kubectl create -f ncp-rc.yml

結果

備註: NCP 開啟與 Kubernetes API 伺服器的持續性 HTTP 連線,以監看 Kubernetes 資源的生命週期事件。如果 API 伺服器失敗或網路失敗導致 NCP 的 TCP 連線失效,您必須重新啟動 NCP,使其能夠重新建立與 API 伺服器的連線。否則,NCP 將會錯過新事件。
在輪流更新 NCP ReplicationController 期間,在下列情況下,您可能會在輪流更新後看到正在執行的兩個 NCP 網繭:
  • 在輪流更新期間將容器主機重新開機。
  • 輪流更新最初會失敗,因為新的映像不存在於 Kubernetes 節點上。下載映像並重新執行輪流更新,它會成功。
如果您看到兩個正在執行的 NCP 網繭,請執行下列操作:
  • 刪除其中一個 NCP 網繭。刪除任一網繭皆可。例如,
    kubectl delete pods <NCP pod name> -n nsx-system
  • 刪除 NCP ReplicationController。例如,
    kubectl delete -f ncp-rc.yml -n nsx-system