Ansible playbooks for deploying a ready-to-use OpenShift cluster with GPU on Equinix Metal infrastructure.
- An Equinix Metal account for provisioning a bare metal server with GPU.
- An existing Equinix Metal project where you can provision servers.
- Access to GPU-capable Equinix devices, e.g. g2.large.x86.
- A Red Hat account with access to assisted installer OpenShift clusters.
-
Install Ansible requirements:
ansible-galaxy install -r requirements.yml
-
Download a pull secret from https://console.redhat.com/openshift/install/pull-secret
-
Get an OpenShift offline token from https://console.redhat.com/openshift/token
-
Pick a hostname prefix to distinguish your metal devices in a shared project
-
Obtain an Equinix metal API key/token
-
Copy ID of the Equinix project you want to use
-
Create a variables file, e.g.
tmp/vars.yml
:cluster_name: <e.g. gpu-equinix-sno> openshift_version: "4.10" openshift_base_domain: <e.g. example.com> ssh_public_key: <e.g. ~/.ssh/id_rsa.pub> equinix_metal_api_key: <token> equinix_metal_project_id: <project> equinix_metal_hostname_prefix: <e.g. username> equinix_metal_facility: <e.g. da11> pull_secret_path: <e.g. tmp/pull_secret.json> ocm_offline_token: <offline token>
If you want /etc/hosts to be automatically updated with your cluster's IP address, add
update_etc_hosts: true
-
Run the playbook
ansible-playbook sno.yml -e "@tmp/vars.yml" -e temp_dir=tmp
ansible-playbook sno-cleanup.yml -e "@tmp/vars.yml"