NSX 節點代理程式是每個網繭用來執行兩個容器的 DaemonSet。一個容器會執行 NSX 節點代理程式,其主要工作是管理容器網路介面。它會與 CNI 外掛程式和 Kubernetes API 伺服器互動。另一個容器會執行 NSX kube-proxy,而其唯一的工作是將叢集 IP 轉譯為網繭 IP,以實作 Kubernetes 服務擷取。它會實作與上游 kube-proxy 相同的功能。

程序

  1. 下載 NCP Docker 映像。

    檔案名稱為 nsx-ncp-xxxxxxx.tar,其中,xxxxxxx 是組建編號。

  2. 下載 NSX 節點代理程式 DaemonSet yaml 範本。

    檔案名稱為 nsx-node-agent-ds.yml。您可以編輯此檔案,或將其用作您自己的範本檔範例。

  3. 將 NCP Docker 映像載入至您的映像登錄。
        docker load -i <tar file>
  4. 編輯 nsx-node-agent-ds.yml

    將映像名稱變更為已載入的映像名稱。

    進行下列變更:

     [coe]
     node_type = 'BAREMETAL' 
     ...  
     [nsx_node_agent] 
     ovs_bridge = 'nsx-managed' 

    取消註解下列幾行:

    securityContext:
      capabilities:
        add:
          - NET_ADMIN
          - SYS_ADMIN
          - SYS_PTRACE
          - DAC_READ_SEARCH
          # For BMC usecase
          - DAC_OVERRIDE
    volumeMounts:
    …
    # mount nestdb-sock for baremetal node
    - name: nestdb-sock
    mountPath: /var/run/vmware/nestdb/nestdb-server.sock
    volumes:
    …
    # volume for baremetal node
    - name: nestdb-sock
       hostPath:
       path: /var/run/vmware/nestdb/nestdb-server.sock
       type: Socket

    備註:

    在 yaml 檔案中,您必須指定為 ncp.ini 產生的 ConfigMap 必須掛接為「唯讀」磁碟區。下載的 yaml 檔案已具有此規格而不應變更。

  5. 使用下列命令建立 NSX 節點代理程式 DaemonSet。
        oc apply -f nsx-node-agent-ds.yml