Upgrading NeMo Microservices#

This page details perfomring rolling upgrades on NeMo microservices custom resources on your cluster.

Refer to the Upgrading NVIDIA NIM Operator for details on upgrading the NIM Operator.

Before upgrading#

Refer to the NeMo microservice release notes for details on what is different in your desired version of the NeMo microservices. In particular, check for renamed or deprecated fields as those changes will also be reflected in the NIM Operator NeMo microservice custom resource.

Each supported NeMo microservice version is available in samples folder in the NIM Operator repositoy. Check the compatability matrix for details on which NIM Operator versions support a NeMo microservice version.

Validate NeMo Custom Resource#

Validate the new NeMo custom resource version against your NIM Operator version. The following command will perform a dry run on applying the NeMo custom resources to your cluster. Update latest to the verison folder name or specific NeMo custom resource sample file name you want to validate.

$  kubectl apply --dry-run=server -f apps_v1alpha1_nemodatastore.yaml \
    -f apps_v1alpha1_nemocustomizer.yaml \
    -f apps_v1alpha1_nemoentitystore.yaml \
    -f apps_v1alpha1_nemoguardrails.yaml \
    -f apps_v1alpha1_nemoevaluator.yaml

Example output

nemodatastore.apps.nvidia.com/nemodatastore-sample created (server dry run)
nemocustomizer.apps.nvidia.com/nemocustomizer-sample created (server dry run)
nemoentitystore.apps.nvidia.com/nemoentitystore-sample created (server dry run)
nemoguardrail.apps.nvidia.com/nemoguardrails-sample configured (server dry run)
nemoevaluator.apps.nvidia.com/nemoevaluator-sample created (server dry run)

Upgrade NeMo Microservices#

  1. Apply the NeMo microservices sample files for your desired version.

    $  kubectl apply -f \
    https://raw.githubusercontent.com/NVIDIA/k8s-nim-operator/refs/heads/main/config/samples/nemo/latest/apps_v1alpha1_nemocustomizer.yaml
    
    $ kubectl apply -f \
        https://raw.githubusercontent.com/NVIDIA/k8s-nim-operator/refs/heads/main/config/samples/nemo/latest/apps_v1alpha1_nemoevaluator.yaml
    
    $ kubectl apply -f \
        https://raw.githubusercontent.com/NVIDIA/k8s-nim-operator/refs/heads/main/config/samples/nemo/latest/apps_v1alpha1_nemodatastore.yaml
    
    $ kubectl apply -f \
        https://raw.githubusercontent.com/NVIDIA/k8s-nim-operator/refs/heads/main/config/samples/nemo/latest/apps_v1alpha1_nemoguardrails.yaml
    
    $ kubectl apply -f \
        https://raw.githubusercontent.com/NVIDIA/k8s-nim-operator/refs/heads/main/config/samples/nemo/latest/apps_v1alpha1_nemoentitystore.yaml