Requirements#

Goal: Ensure you have a Kubernetes cluster, Helm, NGC access, and an image-pull secret so you can deploy the minimal Storage APIs stack.

You need a Kubernetes cluster you can deploy to, plus Helm. See Recommended Hardware for instance sizing from your cloud provider.

Minimum Application Versions#

NGC Access#

Create an NGC account and sign in to the NGC portal. Select your NGC org and generate an API key; you will use it to pull images and Helm charts from the NGC catalog.

../../_images/ngc_api_key.png

Key Permissions#

Grant your API key NGC Catalog and NVIDIA Private Registry permissions.

../../_images/ngc-key-permissions.png

Setup Kubernetes Image Pull Secret#

Create a namespace for the deployment.

Note

The examples use storage-apis as the namespace. You can choose your own namespace name; just substitute it consistently in all commands throughout this guide.

kubectl create namespace storage-apis

Create a Kubernetes image-pull secret in that namespace. Replace ${NGC_API_KEY} with your NGC API key (starts with nvapi-).

kubectl create secret docker-registry ngcpull-secret \
--docker-server "nvcr.io" \
--docker-username '$oauthtoken' \
--docker-password '${NGC_API_KEY}' \
-n storage-apis

# validate the secret was created
kubectl get secret ngcpull-secret -n storage-apis

What’s Next?#

Next: Configure and deploy the Storage Service, a core service required for the Storage APIs.

See also: Recommended hardware and Default service replica counts.

Default Service Replica Count#

  • Discovery Service: 1

  • Storage Service: 1

  • Notification Publishing Service: 1

  • Notification Consumer Service: 1