Install NeMo Microservices Helm Chart#

To deploy the NeMo microservices as a platform, follow these steps.

  1. Add the NeMo Microservices Helm Chart.

    helm repo add nmp https://helm.ngc.nvidia.com/nvidia/nemo-microservices \
       --username='$oauthtoken' \
       --password=$NGC_API_KEY
    
    helm repo update
    
  2. Review the default values in the NeMo Microservices Helm Chart reference.

    To override the default values, create a custom values file. Review the following while creating your custom values file.

    • NeMo Customizer requires specific storage class settings in customizer.modelsStorage.storageClassName and customizer.customizerConfig.training.pvc.storageClass. For more information, see ReadWriteMany Persistent Volumes.

    • NeMo Deployment Management requires a storage class setting in deployment-management.deployments.defaultStorageClass due to limitations in the NIM Operator microservice.

    • Configure the Kubernetes storage class for persistent storage for NeMo Data Store, NeMo Customizer, and NeMo Operator. If you have access to a read-write-many storage class such as a network file system (NFS), you can change the strategy for NeMo Data Store by updating data-store.strategy.type to Rollout.

    • Use an external, managed PostgresSQL instance for NeMo Data Store, NeMo Evaluator, NeMo Customizer, and NeMo Evaluator. For more information, see PostgreSQL.

    • Use an external, managed S3-compatible object storage for NeMo Data Store. For more information, see Amazon S3.

    • Configure the ingress object to route incoming requests appropriately. For more information, see Ingress Setup for Production Environment.

  3. Install the Volcano scheduler before installing the chart. This is required for the NeMo Customizer microservices.

    kubectl apply -f https://raw.githubusercontent.com/volcano-sh/volcano/v1.9.0/installer/volcano-development.yaml
    
  4. Install the chart using your values.yaml file:

    helm --namespace default install \
       nemo nmp/nemo-microservices-helm-chart \
       --set tags.platform=true \
       --set guardrails.guardrails.nvcfAPIKeySecretName="nvidia-api" \
       -f values.yaml
    

    The installation process takes approximately 10 minutes for image downloads, container startup, and communication establishment. The time it takes might vary depending on the speed of your network connection. Pods might appear in pending or restarting states during the installation process.

  5. Verify the pod status:

    kubectl get pods
    

    Confirm that running pods display 1/1 or 2/2 in their ready state.