ブートストラップ コンテナによって行われたファイル システムの変更をクリーンアップできます。
注: 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 を実行します。