Skip to content
  1. Create Namespace runai-backend
  2. 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>
    
  3. Extract the runai-airgapped-package-<VERSION>.tar.gz files on Bastion
  4. export the mirror registry URL
    export REGISTRY_URL=<DOCKER REGISTRY ADDRESS>
    
  5. run ./setup.sh
    1. If running into problems with CA cert, add them into the /etc/pki/ca-trust/source/anchors/ directory.
    2. Run sudo update-ca-trust extract
  6. Once pushed, amend the custom-env.yaml file to change all the Registry URLs to the actual path to the registry.

Control Plane Install

  1. Ensure that the control-plane.tgz file is in <path-to>/runai/charts
  2. 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 
    
  3. Once all pods are running, access the RunAI console.
    1. User: test@run.ai
    2. Password: Abcd!234
  4. Copy the command to join the cluster.

Cluster Install

  1. Create namespace for Runai
    oc new-project runai
    
  2. Add the same CA cert into the new namespace, and also the openshift-monitoring namespace.
    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
    
  3. At this stage, ensure that the GPU operator is installed.
  4. Helm upgrade the runai-cluster.tgz file.
    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
    
  5. 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

  1. 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 

  1. Login to Run:ai as administrator 

  2. 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 

  1. Click Save 

Configure Access Rules

  1. Login to Run:ai as Administrator 

  2. Navigate to access tab 

  3. Click “New Access Rule” 

  4. 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