Helm Installation Overview#

The following are the common prerequisites and tasks for installing the NeMo microservices on a Kubernetes cluster.

Prerequisites for Installing Helm Charts from NGC Catalog#

You need to have an NGC account and create an NGC API key and secrets to access and download the NeMo Microservices Helm Chart, individual NeMo Helm charts, and Docker images.

To learn more about using Helm charts in the NGC Catalog console in general, see the Helm Charts section in the NGC Catalog User Guide.

  1. Create an NGC API key following the instructions at Generating NGC API Keys.

  2. Store the key into your shell environment.

    export NGC_API_KEY=<your-ngc-api-key>
    

    The rest of the installation guide assumes that you have set up the environment variable NGC_API_KEY.

  3. Create a namespace where you want to install the Helm charts.

    kubectl create namespace <namespace-to-install-nemo-microservices>
    
  4. Set up the following secrets in a namespace where you want to install the charts.

    • Docker registry image pull secret: This secret allows pods to pull container images from the NGC Catalog.

      kubectl create secret \
         docker-registry nvcrimagepullsecret \
         --docker-server=nvcr.io \
         --docker-username='$oauthtoken' \
         --docker-password=$NGC_API_KEY
      
    • Generic secret: This secret is for authenticating to download models from the NGC Catalog.

      kubectl create secret generic ngc-api \
         --from-literal=NGC_API_KEY=$NGC_API_KEY
      

Fetch NeMo Helm Charts#

  1. Go to the Helm Charts section in the NGC Catalog console.

  2. Search for the Helm charts you want to install by typing “NeMo” in the search bar.

  3. Select the version of the chart from the drop down menu on the right upper corner. This copies a prepared helm fetch command to the clipboard.

  4. Download the chart by running the helm fetch command with your user name and NGC API key as follows:

    export NEMO_HELM_CHART_VER="<chart-version-to-use>"
    
    helm fetch "https://helm.ngc.nvidia.com/nvidia/nemo-microservices/charts/<nemo-microservice-name>-$NEMO_HELM_CHART_VER.tgz" \
       --username='$oauthtoken' \
       --password=$NGC_API_KEY
    

For more information about using Helm charts in the NGC Catalog in general, see Helm Charts in the NGC Catalog User Guide.

Review Requirements#

To review the requirements for installing the NeMo microservices, see Hardware and Software Requirements for NeMo Microservices.

Review Default Values#

To review the default values in the Helm charts, see the NeMo Helm Chart Values reference.

If needed, you can also run the helm show values command on the charts.

helm show values <nemo-microservice-name>-<chart-version-number>.tgz

If you have locally cached values from a different version of the chart, make sure that you run the helm repo update command before retrieving the chart default values.

If you want to make changes to the default values, modify the values.yaml file in the chart or create a new custom values file as needed.

Create a Namespace#

Create a namespace to install the chart.

kubectl create namespace <namespace-to-install-nemo-microservices>

Install the Chart#

Install using the helm install command:

helm --namespace <namespace-to-install-nemo-microservices> \
install <installation-name> <nemo-microservice-name>-<chart-version-number>.tgz \
-f values.yaml