卸载

各章节按产品组织:Alauda Build of HAMiAlauda Build of HAMi Ascend Device Plugin,以及可选的 HAMi WebUI。对于由 HAMi 管理的 Ascend,请先完成 Ascend Device Plugin 章节,然后再执行 HAMi 核心移除步骤。

在移除拥有设备分配的组件之前,请先停止或迁移使用其资源键的工作负载。通过其所属的 ACP plugin、OperatorHub subscription 或自定义资源删除或更改由 controller 管理的资源。不要只删除生成的 Pod 或 DaemonSet,并据此认为产品已卸载。

NOTE

DCGM-Exporter 是用于 NVIDIA GPU 指标的监控插件。如果它仅因 HAMi 的 NVIDIA GPU 监控而安装,请根据 NVIDIA GPU 卸载文档 进行评估并移除。不要在 HAMi 卸载流程中移除共享的 DCGM-Exporter 实例。

卸载 Alauda Build of HAMi

对于由 HAMi 管理的 Ascend,请先完成下方 Alauda Build of HAMi Ascend Device Plugin 章节,然后再执行这些 HAMi 核心移除步骤。

  1. 停止或迁移请求 HAMi 资源键的工作负载。现有 Pod 不会阻止卸载,且可能会继续运行,但在移除相应的 device plugin 后,重启、重新创建或扩缩后的工作负载将无法再获取 HAMi 资源。

  2. 转到 管理员 -> Marketplace -> Cluster Plugins,切换到目标集群,找到 Alauda Build of HAMi,然后卸载该集群插件。

  3. 确认该插件创建的 HAMi scheduler、webhook 和 device-plugin 工作负载已被移除。

  4. 从不再运行 HAMi 的节点中移除 HAMi 选择器标签。

    对于 HAMi NVIDIA:

    kubectl label nodes <nodeid> gpu-

    对于 HAMi Ascend 后端:

    kubectl label nodes <nodeid> ascend-
  5. 仅当没有已安装的 accelerator 产品或工作负载仍在使用相应的资源键时,才删除 ACP 资源元数据 ConfigMaps。

    对于 HAMi NVIDIA:

    kubectl -n kube-public delete configmap cf-crl-hami-nvidia-gpualloc
    kubectl -n kube-public delete configmap cf-crl-hami-nvidia-gpucores
    kubectl -n kube-public delete configmap cf-crl-hami-nvidia-gpumem
    kubectl -n kube-public delete configmap cf-crl-hami-config

    对于 HAMi Ascend vNPU:

    kubectl -n kube-public delete configmap \
      cf-crl-hami-ascend-vnpu \
      cf-crl-hami-ascend-vnpu-memory \
      cf-crl-hami-ascend-vnpu-config

    仅删除为此部署创建的 ConfigMaps。在使用了自定义资源元数据名称时,它们的名称可能会不同。

卸载 Alauda Build of HAMi Ascend Device Plugin

如果集群使用的是由 HAMi 管理的 Ascend 分配,请先卸载 Alauda Build of HAMi Ascend Device Plugin,然后再卸载 Alauda Build of HAMi

  1. 停止或迁移请求由 HAMi 管理的 Ascend 资源的工作负载。

  2. 删除 HAMiAscendDevicePlugin 自定义资源实例。默认实例名称为 hami-ascend-device-plugin

    kubectl -n <hami-namespace> delete hamiascenddeviceplugin.hami.io hami-ascend-device-plugin

    该实例使用以下资源标识:

    apiVersion: hami.io/v1alpha1
    kind: HAMiAscendDevicePlugin
    metadata:
      name: hami-ascend-device-plugin
      namespace: <hami-namespace>
  3. 确认 Alauda Build of HAMi Ascend Device Plugin 创建的 device-plugin Pod 已从目标 Ascend 节点中移除。

  4. 转到 管理员 -> Marketplace -> OperatorHub,切换到目标集群,找到 Alauda Build of HAMi Ascend Device Plugin,然后卸载该 operator bundle。

  5. 确认 operator 工作负载已被移除:

    kubectl get pods -A | grep hami-ascend-device-plugin

不要只删除生成的 hami-ascend-device-plugin DaemonSet。HAMiAscendDevicePlugin 自定义资源可能会导致 operator 重新创建它。

如果之前已在这些节点上停止了原生 Ascend Device Plugin,则仅在节点应恢复到直接 Ascend NPU 分配路径时才将其恢复。请参阅 切换 Ascend Device Plugin 所有者;不要通过应用旧版 HAMi 文档中的独立 DaemonSet 来恢复它。

卸载 Alauda Build of HAMi-WebUI

  1. 转到 管理员 -> Marketplace -> Cluster Plugins,切换到目标集群,找到 Alauda Build of HAMi-WebUI,然后卸载该集群插件。

  2. 确认包所选命名空间中的 HAMi-WebUI Pod 和 Service 已被移除。标准包使用 cpaas-system

    kubectl -n cpaas-system get pods,service | grep hami-webui

移除 HAMi-WebUI 不会删除 HAMi scheduler、device plugins 或正在运行的 HAMi 工作负载。它只会移除可选的 WebUI 及其访问路径。

不要删除用于生成 WebUI Authorization 值的平台监控 BasicAuth Secret。该 Secret 归监控服务所有,并且可能被其他监控客户端共享。