README.md 3.3 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!--
SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

18
# 🚀 Deploy Dynamo Cloud to Kubernetes
19

20
21
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.
22

23
[See Dynamo Cloud Guide](../../../docs/guides/dynamo_deploy/dynamo_cloud.md) for advanced cases and details on how to install and use Dynamo Cloud. For a quick start follow the steps below.
24
25


26
## 🏗️ Building Docker images for Dynamo Cloud components
27

28
You can build and push Docker images for the Dynamo cloud components to any container registry of your choice.
29

30
**Important** Make sure you're logged in to your container registry before pushing images. For example:
31
32
33
34
35

```bash
docker login <CONTAINER_REGISTRY>
```

36
#### 🛠️ Build and push images for the Dynamo Cloud platform components
37

38
[One-time Action]
39
You should build the image(s) for the Dynamo Cloud Platform.
40
If you are a **👤 Dynamo User** you would do this step once.
41
42

```bash
43
44
export DOCKER_SERVER=<your-docker-server>
export IMAGE_TAG=<TAG>
45
46
cd deploy/cloud/operator
earthly --push +docker --DOCKER_SERVER=$DOCKER_SERVER --IMAGE_TAG=$IMAGE_TAG
47
48
```

49
If you are a **🧑‍💻 Dynamo Contributor** you would have to rebuild the dynamo platform images as the code evolves. To do so please look at the [Cloud Guide](../../../docs/guides/dynamo_deploy/dynamo_cloud.md).
50

51

52
### 🚀 Deploying the Dynamo Cloud Platform
53

54
1. Set the required environment variables:
55
```bash
56
export PROJECT_ROOT=$(pwd)
57
58
59
60
61
export DOCKER_USERNAME=<your-docker-username>
export DOCKER_PASSWORD=<your-docker-password>
export DOCKER_SERVER=<your-docker-server>
export IMAGE_TAG=<TAG>  # Use the same tag you used when building the images
export NAMESPACE=dynamo-cloud    # change this to whatever you want!
62
export DYNAMO_INGRESS_SUFFIX=dynamo-cloud.com # change this to whatever you want!
63
64
```

65
2. [One-time Action] Create a new kubernetes namespace and set it as your default. Create image pull secrets if needed.
66
67

```bash
68
cd $PROJECT_ROOT/deploy/cloud/helm
69
70
kubectl create namespace $NAMESPACE
kubectl config set-context --current --namespace=$NAMESPACE
71
72
73
74
```

3. Deploy Dynamo Cloud using the Helm chart via the provided deploy script:
To deploy the Dynamo Cloud Platform on Kubernetes, run:
75

76
77
```bash
./deploy.sh --crds
78
79
```

80
if you want guidance during the process, run the deployment script with the `--interactive` flag:
81
82

```bash
83
./deploy.sh --crds --interactive
84
```
85
86
87
88
89
90

omitting `--crds` will skip the CRDs installation/upgrade. This is useful when installing on a shared cluster as CRDs are cluster-scoped resources.