The Nvidia cuOpt microservice container is packaged as a Kubernetes (aka k8s) deployment using a Helm chart. There are multiple options to create your own local K8s cluster. One such option is minikube.
Create a namespace and an environment variable for the namespace to organize the k8s cluster deployed to logically separate Nvidia cuOpt deployments from other projects using the following command:
kubectl create namespace <some name>
export NAMESPACE="<some name>"
Fetch the helm chart using Fetch Command provided above, by default this command shows the latest version, if other versions are available they will be listed in File Browser Tab.
helm install --namespace $NAMESPACE --set ngc.apiKey=<YOUR API KEY> nvidia-cuopt-chart cuopt --values cuopt/values.yaml
It might take some time for downloading the container which can bee seen in the status as ContainerCreating, else it would be Running.
Use following commands to verify,
kubectl -n $NAMESPACE get all
NAME READY STATUS RESTARTS AGE
pod/cuopt-cuopt-deployment-595656b9d6-dbqcb 1/1 Running 0 21s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/cuopt-cuopt-deployment-cuopt-service ClusterIP X.X.X.X <none> 5000/TCP,8888/TCP 21s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/cuopt-cuopt-deployment 1/1 1 1 21s
NAME DESIRED CURRENT READY AGE
replicaset.apps/cuopt-cuopt-deployment-595656b9d6 1 1 1 21s
enable_nodeport
, default node port for server is 30000
and can be changed to other using param node_port_server
,helm install --namespace $NAMESPACE --set ngc.apiKey=<YOUR API KEY> nvidia-cuopt-chart cuopt --set enable_nodeport=true --set node_port_server=30011 --values cuopt/values.yaml
Note: Notebook can also be run with option enable_notebook_server
along with cuOpt server.
Note: Using values_notebook.yaml to set-up notebook related set-ups
helm install --namespace $NAMESPACE --set ngc.apiKey=<YOUR API KEY> nvidia-cuopt-chart cuopt --values cuopt/values_notebook.yaml
enable_nodeport
, default node port for server is 30001
and can be changed to other using param node_port_notebook
,helm install --namespace $NAMESPACE --set ngc.apiKey=<YOUR API KEY> nvidia-cuopt-chart cuopt --set enable_nodeport=true --set node_port_notebook=30021 --values cuopt/values_notebook.yaml
Note: cuOpt server can also be run with option enable_server
along with notebook.
helm uninstall -n $NAMESPACE nvidia-cuopt-chart
By pulling and using the containers or Helm charts, you accept the terms and conditions of this End User License Agreement.