卸载 GPU Operator#
执行以下步骤卸载 Operator。
可选:列出并删除 NVIDIA 驱动程序自定义资源。
$ kubectl get nvidiadrivers
示例输出
NAME STATUS AGE demo-gold ready 2023-10-16T17:57:12Z demo-silver ready 2023-10-16T17:57:12Z
$ kubectl delete nvidiadriver demo-gold $ kubectl delete nvidiadriver demo-silver
$ kubectl delete crd nvidiadrivers.nvidia.com
删除 Operator
$ helm delete -n gpu-operator $(helm list -n gpu-operator | grep gpu-operator | awk '{print $1}')
可选:列出 Operator 命名空间中的 Pod,以确认 Pod 已删除或正在删除过程中
$ kubectl get pods -n gpu-operator
示例输出
No resources found.
默认情况下,当您删除图表时,Helm 不支持删除现有的 CRD。因此,默认情况下,clusterpolicy
CRD 和 nvidiadrivers
CRD 仍将保留。
$ kubectl get crd clusterpolicies.nvidia.com
为了克服这个问题,Operator 使用post-delete hook来执行 CRD 清理。operator.cleanupCRD
图表参数被添加以启用此 hook。此参数默认禁用。您可以通过在安装或升级期间指定 --set operator.cleanupCRD=true
来启用该 hook,以便在图表删除时执行自动 CRD 清理。
或者,您可以删除自定义资源定义
$ kubectl delete crd clusterpolicies.nvidia.com
注意
卸载 Operator 后,NVIDIA 驱动程序模块可能仍然加载。重新启动节点或使用以下命令卸载它们
$ sudo rmmod nvidia_modeset nvidia_uvm nvidia
与 GPU Operator 一起使用的 Helm hooks 使用 Operator 镜像本身。如果 Operator 镜像无法成功拉取(由于网络错误或 NVAIE 的情况下 NGC 注册表密钥无效),hooks 将会失败。在这种情况下,删除图表并指定
--no-hooks
参数以避免 hook 失败时挂起。