Install the Run:ai Control Plane¶
Create a Control Plane Configuration¶
Create a configuration file to install the Run:ai control plane:
Generate a values file by running:
runai-adm generate-values \
--external-ips <ip> \ # (1)
--domain <dns-record> \ # (2)
--tls-cert <file-name> --tls-key <file-name> \ # (3)
--nfs-server <nfs-server-address> --nfs-path <path-in-nfs> # (4)
- An available, IP Address that is accessible from Run:ai Users' machines. Typically (but not always) the IP of one of the nodes.
- DNS A record such as
runai.<company-name>
or similar. The A record should point to the IP address above. - TLS certificate and private key for the above domain.
- NFS server location where Run:ai can create files. For using alternative storage mechanisms see optional values below
Note
In cloud environments, the flag --external-ips
should contain both the internal and external IPs (comma separated)
A file called runai-backend-values.yaml
will be created.
Generate a values file by running the following under the deploy
folder:
runai-adm generate-values \
--external-ips <ip> \ # (1)
--domain <dns-record> \ # (2)
--tls-cert <file-name> --tls-key <file-name> \ # (3)
--nfs-server <nfs-server-address> --nfs-path <path-in-nfs> \ # (4)
--airgapped
- An available, IP Address that is accessible from Run:ai Users' machines. Typically (but not always) the IP of one of the nodes.
- DNS A record such as
runai.<company-name>
or similar. The A record should point to the IP address above. - TLS certificate and private key for the above domain.
- NFS server location where Run:ai can create files. For using alternative storage mechanisms see optional values below
Ignore the message about a downloaded file.
Generate a values file by running the following under the deploy
folder:
runai-adm generate-values \
--external-ips <ip> \ # (1)
--domain <dns-record> \ # (2)
--tls-cert <file-name> --tls-key <file-name> \ # (3)
--nfs-server <nfs-server-address> --nfs-path <path-in-nfs> \ # (4)
--registry <docker-registry-address> #(5)
- An available, IP Address that is accessible from Run:ai Users' machines. Typically (but not always) the IP of one of the nodes.
- DNS A record such as
runai.<company-name>
or similar. The A record should point to the IP address above. - TLS certificate and private key for the above domain.
- NFS server location where Run:ai can create files. For using alternative storage mechanisms see optional values below
- Docker Registry address in the form of
NAME:PORT
(do not addhttps
):
Ignore the message about a downloaded file.
(Optional) Edit Configuration File¶
There may be cases where you need to change properties in the values file as follows:
Key | Change | Description |
---|---|---|
backend.initTenant.promProxy and grafana.datasources.datasources.yaml.datasources.url | (Run:ai version 2.8 or lower) When using an existing Prometheus service, replace this URL with the URL of the existing Prometheus service (obtain by running kubectl get svc on the Prometheus namespace) | Internal URL to Prometheus server |
postgresql.persistence | PostgreSQL permanent storage via a Persistent Volume | You can either use storageClassName to create a PV automatically or set nfs.server and nfs.path to provide the network file storage for the PV. The folder in the path should be pre-created and have full access rights. This key is now covered under the runai-adm flags above |
nginx-ingress.controller.externalIPs | <RUNAI_IP_ADDRESS> | IP address allocated for Run:ai. This key is now covered under the runai-adm flags above |
backend.https | Replace key and crt with public and private keys for runai.<company-name> . This key is now covered under the runai-adm flags above | |
thanos.receive.persistence | Permanent storage for Run:ai metrics | See postgresql.persistence above. Can use the same location. This key is now covered under the runai-adm flags above |
keycloakx.adminUser | User name of the internal identity provider administrator | This user is the administrator of Keycloak |
keycloakx.adminPassword | Password of the internal identity provider administrator | This password is for the administrator of Keycloak |
Upload images (Airgapped only)¶
Upload images to a local Docker Registry. Set the Docker Registry address in the form of NAME:PORT
(do not add https
):
Run the following script (you must have at least 20GB of free disk space to run):
If Docker is configured to run as non-root then sudo
is not required.
Install the Control Plane¶
Run the helm command below:
helm repo add runai-backend https://backend-charts.storage.googleapis.com
helm repo update
helm install runai-backend -n runai-backend runai-backend/runai-backend \
-f runai-backend-values.yaml
Info
To install a specific version, add --version <version>
to the install command. You can find available versions by running helm search repo -l runai-backend
.
Tip
Use the --dry-run
flag to gain an understanding of what is being installed before the actual installation.
Connect to Run:ai User Interface¶
Go to: runai.<company-name>
. Log in using the default credentials: User: test@run.ai
, Password: Abcd!234
. Go to the Users area and change the password.
(Optional) Enable "Forgot password"¶
To support the “Forgot password” functionality, follow the steps below.
- Go to
runai.<company-name>/auth
and Log in. - Under
Realm settings
, select theLogin
tab and enable theForgot password
feature. - Under the
Email
tab, define an SMTP server, as explained here
Next Steps¶
Continue with installing a Run:ai Cluster.
Created: 2023-03-26