您可以清理啟動程序容器所進行的檔案系統變更。

備註: 如果移除 nsx-node-agent DaemonSet,則 OVS 不會再於主機上執行 (在容器中或主機的 PID 中)。

NCP 2.5.0 的程序

若要執行下列步驟,以復原啟動程序容器所做的變更:
  • 移除 NSX-CNI:
    • 移除 /etc/cni/net.d/10-nsx.conf
    • 移除 /etc/cni/net.d/99-loopback.conf
    • 僅在 RHEL 上,移除 /opt/cni/bin/loopback
    • 移除 /opt/cni/bin/nsx
    • 僅在 Ubuntu 上,執行下列命令:
      apparmor_parser -R /etc/apparmor.d/ncp-apparmor
      rm -rf /etc/apparmor.d/ncp-apparmor
      sudo /etc/init.d/apparmor reload
  • 移除 NSX 安裝的 OVS kmod:
    OVS kmod 包含下列檔案:
    openvswitch.ko
    vport-geneve.ko
    vport-gre.ko
    vport-lisp.ko
    vport-stt.ko
    vport-vxlan.ko
    • 使用命令 uname -r 尋找執行中的核心版本。
    • 僅在 RHEL 上,從 /lib/modules/${kversion}/weak-updates/openvswitch 移除所有 OVS kmod 檔案。
    • 僅在 Ubuntu 上,從 /lib/modules/${kversion}/updates/dkms 移除所有 OVS kmod 檔案。
    • 移至 /lib/modules/${kversion}/nsx,並查看目錄 usr-ovs-kmod-backup 是否存在。如果存在,則您已安裝自訂 OVS 核心模組。執行下列步驟:
      • 移至 /lib/modules/${kversion}/nsx/usr-ovs-kmod-backup
      • 尋找名為 INFO 的檔案。其中包含可找到檔案的路徑。使用此路徑來還原檔案。
      • 執行命令 depmod
      • 如果主機電腦上已安裝 OVS,請執行命令 /usr/share/openvswitch/scripts/ovs-ctl force-reload-kmod --system-id=random

NCP 2.5.1 及更新版本的程序

您可以建立 nsx-ncp-cleanup DaemonSet,以復原 nsx-ncp-bootstrap DaemonSet 所做的系統變更。僅當您先前套用 NCP YAML 檔案 (ncp-ubuntu.yamlncp-rhel.yaml),並且尚未將其刪除時,才必須建立此 DaemonSet。請注意,nsx-ncp-cleanup DaemonSet 將解除安裝 NSX CNI,這將會導致 Kubernetes 節點狀態無效。

若要建立 DaemonSet,請執行下列步驟:
  • 刪除 nsx-ncp-bootstrap 和 nsx-node-agent DaemonSet。例如,您可以使用適當的命名空間名稱來執行下列命令:
    kubectl delete ds nsx-ncp-bootstrap -n <namespace>
    kubectl delete ds nsx-node-agent -n <namespace>
  • 從 Kubernetes 主節點上的命令列執行 kubectl apply -f ncp-cleanup-ubuntu.yamlkubectl apply -f ncp-cleanup-rhel.yaml (視您的主機作業系統而定)。

若要讓節點再次可供使用,請執行 kubectl apply -f ncp-ubuntu.yamlkubectl apply -f ncp-rhel.yaml (視您的主機作業系統而定)。