- Create Namespace runai-backend
- Add secret for the CA cert used
oc -n runai-backend create secret generic runai-ca-cert \ --from-file=runai-ca.pem=<ca_bundle_path> - Extract the
runai-airgapped-package-<VERSION>.tar.gzfiles on Bastion - export the mirror registry URL
export REGISTRY_URL=<DOCKER REGISTRY ADDRESS> - run ./setup.sh
- If running into problems with CA cert, add them into the
/etc/pki/ca-trust/source/anchors/directory. - Run
sudo update-ca-trust extract
- If running into problems with CA cert, add them into the
- Once pushed, amend the custom-env.yaml file to change all the Registry URLs to the actual path to the registry.
Control Plane Install
- Ensure that the control-plane.tgz file is in
<path-to>/runai/charts - Helm install the control plane:
helm upgrade -i runai-backend ./control-plane-<VERSION>.tgz -n runai-backend \ --set global.domain=runai.apps.<OPENSHIFT-CLUSTER-DOMAIN> \ --set global.config.kubernetesDistribution=openshift \ --set global.customCA.enabled=true \ -f custom-env.yaml - Once all pods are running, access the RunAI console.
- User:
test@run.ai - Password:
Abcd!234
- User:
- Copy the command to join the cluster.
Cluster Install
- Create namespace for Runai
oc new-project runai - Add the same CA cert into the new namespace, and also the
openshift-monitoringnamespace.oc -n runai create secret generic runai-ca-cert \ --from-file=runai-ca.pem=<ca_bundle_path> oc -n openshift-monitoring create secret generic runai-ca-cert \ --from-file=runai-ca.pem=<ca_bundle_path> oc label secret runai-ca-cert -n runai run.ai/cluster-wide=true run.ai/name=runai-ca-cert --overwrite - At this stage, ensure that the GPU operator is installed.
- Helm upgrade the
runai-cluster.tgzfile.helm upgrade -i runai-cluster runai-cluster-<VERSION>.tgz \ --set controlPlane.url=<COPIED FROM PREVIOUS> \ --set controlPlane.clientSecret=<COPIED FROM PREVIOUS> \ --set cluster.uid=<COPIED FROM PREVIOUS> \ --set cluster.url=<COPIED FROM PREVIOUS> --create-namespace \ --set global.image.registry=<REGISTRY_URL> \ --set global.customCA.enabled=true - Wait for pods to be in running state, then refresh the RunAI console to see that the GPUs are showing up.
Create OpenShift OAuth for Runai
- Create an OAuth client in OpenShift
apiVersion: oauth.openshift.io/v1
grantMethod: auto
kind: OAuthClient
metadata:
name: runai-oauth
redirectURIs:
secret:
Note: To generate a random secret, use command openssl rand -base64 36
Configure OAuth in Run:ai
-
Login to Run:ai as administrator
-
Go to Admin → Security → Add new identity provider → OpenShift V4.
Enter the following fields:
Base URL:
Client ID:
Client Secret:
Scope:
Linux user ID: metadata.uid
Linux group ID: metadata.gid
User role groups: groups
SUPPLEMENTARYGROUPS: supplementarygroups
Email: metadata.name
- Click Save
Configure Access Rules
-
Login to Run:ai as Administrator
-
Navigate to access tab
-
Click “New Access Rule”
-
Subject: SSO Group
RunAI service Errors
Remove from the Prometheus-k8s ConfigMap in the openshift-monitoring namespace:
spec.externalLabels.prometheus
spec.externalLabels.prometheusReplica
spec.externalLabels