This repository provides automated setup and configuration tools for deploying Red Hat OpenShift AI (RHOAI) on OpenShift clusters. It's designed to streamline the process of setting up a complete AI/ML platform with GPU support and related infrastructure.
-
Automated RHOAI Deployment: Uses Ansible playbooks to automate the installation and configuration of Red Hat OpenShift AI and all its dependencies on OpenShift clusters.
-
GPU-Enabled AI Infrastructure: Sets up GPU nodes with NVIDIA operators, drivers, and monitoring dashboards to support AI/ML workloads that require GPU acceleration.
-
Complete Platform Setup: Installs and configures supporting components including:
- Serverless and Service Mesh operators
- Authentication and authorization (Authorino)
- Object storage (MinIO)
- Monitoring and observability tools
- Web terminals and developer tooling
-
Demo Capabilities: Provides ready-to-use demos showcasing RHOAI capabilities, particularly model serving with vLLM.
- components: Kustomize manifests for 16 different cluster components (prerequisites, GPU operators, RHOAI, monitoring, etc.)
- playbooks: Ansible automation scripts for full cluster setup, individual component installation, and demos
- demos: Sample applications and inference examples
- docs: Documentation and setup guides
- Full Cluster Setup: One-command deployment of a complete RHOAI environment
- Individual Component Setup: Granular installation of specific components (GPU setup, MinIO, etc.)
- AI/ML Demonstrations: Pre-configured demos for model serving and inference
This repository essentially serves as a "one-stop-shop" for getting a production-ready AI/ML platform running on OpenShift with minimal manual configuration required.
Before using this repository, ensure you have the following:
- You must have access to a running OpenShift cluster (Instructions on creating a cluster)
- You need the
kubeadmincredentials for cluster administration.
-
For macOS:
brew install ansible
-
For Linux:
- Using pip (if Python is installed):
pip install --user ansible
- For Debian/Ubuntu:
sudo apt update sudo apt install ansible
- For RHEL/CentOS/Fedora:
# For Fedora sudo dnf install ansible # For RHEL/CentOS sudo yum install ansible
- Using pip (if Python is installed):
-
For Windows:
- Using pip (if Python is installed):
pip install --user ansible
- Using WSL (Windows Subsystem for Linux):
# Install Ansible inside WSL (Ubuntu/Debian) sudo apt update sudo apt install ansible
- Using pip (if Python is installed):
-
Verify installation:
ansible --version ansible-playbook --version
-
Install the OpenShift CLI
- Official documentation.
- Download for Windows Link
- Download for Mac LINK
- Download for Linux LINK
-
Verify installation:
oc version
Below are the main Ansible files under the playbooks/ directory (top-level only) that get run as part of the automation.
Run with:
ansible-playbook playbooks/cluster-setup.ansible.yml-
Below components get installed:
- Install cluster pre-reqs
- Add user with cluster-admin role
- Provision and configure GPU node
- Install NFD and NIVIDIA GPU operator
- Install Serverless and Servicemesh operator
- Install RHOAI and depdendent components
Important
When running this playbook, you don't need to run automation for individual components as they get run as part of full cluster setup.
-
Provision and configure GPU node
Run with:
ansible-playbook playbooks/gpu-setup.ansible.yml
- Below components get installed:
- Add GPU node
- Install NFD and NVIDIA GPU operator
- Install NVIDIA DCGM dashboard
- Configure timeslicing in GPU
- Taint GPU nodes
- Below components get installed:
-
Provision MINIO object storage
Run with:
ansible-playbook playbooks/minio-setup.ansible.yml
-
Demo model serving on vLLM
Run with:
ansible-playbook playbooks/demo-vllm.ansible.yml
- Below components get installed:
- Install MINIO storage
- Create DataScience project
- Create data-connections
- Create ServingRuntime
- Create InferenceService
- Below components get installed:
git clone https://github.com/redhat-ai-americas/rhoai-demo-setup.git
cd rhoai-demo-setupYou can run any playbook using the following command:
ansible-playbook <path-to-playbook>For example, to run the full cluster setup:
ansible-playbook playbooks/cluster-setup.ansible.ymlOr to run a specific setup or demo playbook:
ansible-playbook playbooks/gpu-setup.ansible.yml
ansible-playbook playbooks/minio-setup.ansible.yml
ansible-playbook playbooks/demo-vllm.ansible.ymlNote
To save the output to a log file, use:
ansible-playbook playbooks/cluster-setup.ansible.yml | tee cluster-setup.logYou can refer to github repo demo-ai-gitops-catalog for for more in-depth RHOAI installation and customization.