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