升级 NVIDIA NIM Operator#
使用 Helm#
由于 Helm 不支持自动升级现有 CRD,您可以通过启用 Helm Hook 或手动方式升级 CRD。
步骤#
默认情况下,Helm Chart 启用 pre-upgrade
Helm Hook 在 Operator 升级期间更新 CRD。
更新 Operator Chart 的信息
$ helm repo update nvidia
从 Chart 中获取值
$ helm show values nvidia/k8s-nim-operator --version=v1.0.1 > values-1.0.1.yaml
根据需要更新 values 文件。
升级 Operator
$ helm upgrade nim-operator nvidia/k8s-nim-operator -n nim-operator -f values-1.0.1.yaml
与 Operator 一起使用的 Helm Hook 使用 Operator 镜像本身。如果 Operator 镜像本身无法成功拉取(例如由于网络错误),则 Hook 将失败。在这种情况下,您需要使用 --no-hooks
参数删除 Chart,以避免由于 Hook 失败而导致删除挂起。
替代方案:手动升级 CRD#
通过此步骤,您可以更新所有现有的 Operator 自定义资源。
应用自定义资源定义
$ kubectl apply -f \ https://raw.githubusercontent.com/NVIDIA/k8s-nim-operator/refs/tags/v1.0.1/deployments/helm/k8s-nim-operator/crds/apps.nvidia.com_nimcaches.yaml $ kubectl apply -f \ https://raw.githubusercontent.com/NVIDIA/k8s-nim-operator/refs/tags/v1.0.1/deployments/helm/k8s-nim-operator/crds/apps.nvidia.com_nimpipelines.yaml $ kubectl apply -f \ https://raw.githubusercontent.com/NVIDIA/k8s-nim-operator/refs/tags/v1.0.1/deployments/helm/k8s-nim-operator/crds/apps.nvidia.com_nimservices.yaml
更新 Operator Chart 的信息
$ helm repo update nvidia
从 Chart 中获取值
$ helm show values nvidia/k8s-nim-operator --version=v1.0.1 > values-1.0.1.yaml
根据需要更新 values 文件。
升级 Operator
$ helm upgrade nim-operator nvidia/k8s-nim-operator -n nim-operator -f values-1.0.1.yaml