ブートストラップ コンテナによって行われたファイル システムの変更をクリーンアップできます。

注: 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 によって行われたシステムの変更を取り消すことができます。この DaemonSet を作成する必要があるのは、以前に NCP YAML ファイル(ncp-ubuntu.yaml または ncp-rhel.yaml)を適用し、削除していない場合のみです。nsx-ncp-cleanup DaemonSet では NSX CNI がアンインストールされ、Kubernetes ノードの状態が無効になることに注意してください。

DaemonSet を作成するには、次の手順を実行します。
  • nsx-ncp-bootstrap DaemonSet および nsx-node-agent DaemonSet を削除します。たとえば、次のコマンドを適切なネームスペース名とともに使用して実行できます。
    kubectl delete ds nsx-ncp-bootstrap -n <namespace>
    kubectl delete ds nsx-node-agent -n <namespace>
  • Kubernetes マスター ノードのコマンド ラインから、ホスト OS に応じて kubectl apply -f ncp-cleanup-ubuntu.yaml または kubectl apply -f ncp-cleanup-rhel.yaml を実行します。

ノードを再び使用できるようにするには、ホスト OS に応じて kubectl apply -f ncp-ubuntu.yaml または kubectl apply -f ncp-rhel.yaml を実行します。