Installation on DigitalOcean Cloud#
This article explains how to install the AMD enterprise AI reference stack in the DigitalOcean cloud environment. The article complements the full installation article by describing the DigitalOcean specific installation configuration. For more details about the installation steps, refer to the full installation article.
Prerequisites#
Suggested minimum configuration for DigitalOcean droplet:
AMD MI300X
1 GPU - 192 GB VRAM - 20 vCPU - 240 GB RAM
Boot disk: 720 GB NVMe- Scratch disk: 5 TB NVMe
Software requirements:
Choose an image pre-installed with ROCm™ Software (not ROCm enabled GPT_OSS), e.g. ROCm version >= 7.1 (ROCm 7.2 is currently not supported)
Installation steps#
In order to install on a DigitalOcean droplet, create a bloom.yaml file and copy the following text into the file, replacing <your-ip-address> with the ip address of the node.
DOMAIN: <your-ip-address>.nip.io
CERT_OPTION: generate
FIRST_NODE: true
GPU_NODE: true
CLUSTER_DISKS: /dev/vdc1
During installation, a large number of container images may be pulled from Docker Hub in a short period; unauthenticated pulls can hit rate limits and cause ImagePullBackOff on some pods. Add DOCKERHUB_USER and DOCKERHUB_TOKEN to bloom.yaml before running bloom (see Container Registry Configuration).
Hardware family configuration (optional)#
By default, cluster-bloom installs the full AIM model catalog and the Instinct-qualified ROCm/GPU Operator stack. To limit the AIM catalog or select a different GPU stack, add these optional values to bloom.yaml:
# Limit AIM model sources to specific hardware families (empty = install all)
AIM_HARDWARE_FAMILY: epyc,instinct
# Select ROCm + GPU Operator defaults (empty = instinct)
GPU_STACK_FAMILY: instinct
See Installation configuration values for full details.
Example: Radeon installation. For a Radeon GPU node, set both GPU_STACK_FAMILY and AIM_HARDWARE_FAMILY to radeon:
DOMAIN: <your-ip-address>.nip.io
CERT_OPTION: generate
FIRST_NODE: true
GPU_NODE: true
CLUSTER_DISKS: /dev/vdc1
# Radeon GPU stack
GPU_STACK_FAMILY: radeon
# Radeon AIM model catalog only
AIM_HARDWARE_FAMILY: radeon
Replace <your-ip-address> and CLUSTER_DISKS with values for your environment.
Download the installation tool (“bloom”):
wget https://github.com/silogen/cluster-bloom/releases/latest/download/bloom
Make the file executable:
chmod +x bloom
Then start the installation:
sudo ./bloom cli bloom.yaml
Exit and re-login to source the .bashrc, or run
source ~/.bashrc
Installation without AI Resource Manager#
This explains how to install the reference stack without AI Resource Manager.
Create the bloom.yaml file and copy the following text into the file, replacing <your-ip-address> with the ip address of the node.
DOMAIN: <your-ip-address>.nip.io
CERT_OPTION: generate
FIRST_NODE: true
GPU_NODE: true
CLUSTER_DISKS: /dev/vdc1
AIWB_ONLY: true
Run cluster-bloom installation#
Download and run the cluster-bloom installation tool:
wget https://github.com/silogen/cluster-bloom/releases/latest/download/bloom
chmod +x bloom
sudo ./bloom cli bloom.yaml
source ~/.bashrc
Docker Hub credentials#
Add DOCKERHUB_USER and DOCKERHUB_TOKEN to bloom.yaml before running cluster-bloom to avoid Docker Hub rate limits during installation and ClusterForge setup. See Container Registry Configuration for details.
Add appDomain to values.yaml in Gitea (for installation without AI Resource Manager)#
Note
When installing the reference stack without AI Resource Manager, certain configuration values must be set manually, as described in this section. This step will be automated in an upcoming release.
Navigate to https://gitea.<your-domain> and sign in with the Gitea admin credentials. Retrieve the credentials by running the following command:
echo "username:silogen-admin" && kubectl get secret gitea-admin-credentials -n cf-gitea -o jsonpath='{.data.password}' | base64 -d && echo
After signing in, open the values.yaml file in the cluster-values repository:
https://gitea.<your-domain>/cluster-org/cluster-values/src/branch/main/values.yaml
Select Edit. Under the existing apps.aiwb.helmParameters, add the following entry for appDomain:
aiwb:
helmParameters:
# STANDALONE-MODE
- name: standAloneMode
value: "true"
- name: appDomain
value: <your-domain>
To limit the AIM model catalog, add hardwareFamilies under apps.aim-cluster-model-source.valuesObject in the same file:
aim-cluster-model-source:
valuesObject:
hardwareFamilies:
- instinct
Note
An empty list ([]) keeps the legacy full catalog. To change GPU stack family, also update apps.amd-gpu-operator.path, apps.amd-gpu-operator-config.path, and apps.amd-gpu-operator-config.valuesObject. See Hardware family configuration (optional) and Installation configuration values for allowed values and what each AIM_HARDWARE_FAMILY and GPU_STACK_FAMILY option installs.
Select Commit Changes at the bottom of the page. The change will be synchronized to the cluster within a few minutes.