README.md 2.73 KB
Newer Older
1
2
3
4
# Examples of using Dynamo Platform

## Serving examples locally

5
Follow individual examples under components/backends/ to serve models locally.
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26


## Deploying Examples to Kubernetes

First you need to install the Dynamo Cloud Platform. Dynamo Cloud acts as an orchestration layer between the end user and Kubernetes, handling the complexity of deploying your graphs for you.
Before you can deploy your graphs, you need to deploy the Dynamo Runtime and Dynamo Cloud images. This is a one-time action, only necessary the first time you deploy a DynamoGraph.

### Instructions for Dynamo User
If you are a **👤 Dynamo User** first follow the [Quickstart Guide](../guides/dynamo_deploy/quickstart.md) first.

### Instructions for Dynamo Contributor
If you are a **🧑‍💻 Dynamo Contributor** first follow the instructions in [deploy/cloud/helm/README.md](../../deploy/cloud/helm/README.md) to create your Dynamo Cloud deployment.


You would have to rebuild the dynamo platform images as the code evolves. For more details please look at the [Cloud Guide](../guides/dynamo_deploy/dynamo_cloud.md)

```bash
export DYNAMO_IMAGE=<your-registry>/<your-image-name>:<your-tag>
```


27
### Deploying a particular example
28
29
30
31
32
33
34
35

```bash
# Set your dynamo root directory
cd <root-dynamo-folder>
export PROJECT_ROOT=$(pwd)
export NAMESPACE=<your-namespace> # the namespace you used to deploy Dynamo cloud to.
```

36
Deploying an example consists of the simple `kubectl apply -f ... -n ${NAMESPACE}` command. For example:
37

38
```bash
39
kubectl apply -f  components/backends/vllm/deploy/agg.yaml -n ${NAMESPACE}
40
41
42
43
44
45
46
47
48
49
50
```

You can use `kubectl get dynamoGraphDeployment -n ${NAMESPACE}` to view your deployment.
You can use `kubectl delete dynamoGraphDeployment <your-dep-name> -n ${NAMESPACE}` to delete the deployment.


**Note 1** Example Image

The examples use a prebuilt image from the `nvcr.io/nvidian/nim-llm-dev registry`.
You can build your own image and update the image location in your CR file prior to applying.
See [Building the Dynamo Base Image](../../README.md#building-the-dynamo-base-image)
51
52

```bash
53
54
55
extraPodSpec:
        mainContainer:
          image: <image-in-your-$DYNAMO_IMAGE>
56
57
```

58
59
60
61
62
63
64
65
66
67
**Note 2**
Setup port forward if needed when deploying to Kubernetes.

List the services in your namespace:

```bash
kubectl get svc -n ${NAMESPACE}
```
Look for one that ends in `-frontend` and use it for port forward.

68
```bash
69
70
SERVICE_NAME=$(kubectl get svc -n ${NAMESPACE} -o name | grep frontend | sed 's|.*/||' | sed 's|-frontend||' | head -n1)
kubectl port-forward svc/${SERVICE_NAME}-frontend 8000:8000 -n ${NAMESPACE}
71
72
```

73
74
Consult the [Port Forward Documentation](https://kubernetes.io/docs/tasks/access-application-cluster/port-forward-access-application-cluster/)

75
More on [LLM examples](llm_deployment.md)