Installation Guide (Replicated)
Installing With Replicated
Installing with Replicated is a deployment method that allows you to deploy Rasa Studio with an embedded Kubernetes cluster into a virtual machine. You may bring your own external dependencies like Postgres and Kafka, or you can use embedded versions that we provide with the installation.
To use this installation method, please speak to your Customer Success Manager.
Requirements
Before you begin, you'll need the following:
Infrastructure Requirements
- A Virtual Machine with at least 8 vCPUs, 16GB RAM and 100GB of disk space. We support Ubuntu 22.04 or Red Hat Enterprise Linux 9 for installation, and similar distros may also work.
- A DNS record pointing at your VM - it cannot just have an IP address.
- A cloud object storage bucket - we support Google Cloud Storage and AWS S3. You can also use MinIO if you don't have access to GCS or S3, which is discussed below.
- Credentials to read and write to the object storage bucket in the form of a GCP Service Account JSON key, an AWS Access Key and Secret Key or MinIO credentials.
- An OpenAI API key or credential for another LLM if you're using a different provider.
Security Requirements
- The ability to use
sudo
on your VM. - The following ports must be open on your VM:
- 22 (TCP) for SSH access to perform the initial setup.
- 443 (TCP) for HTTP/HTTPS access to the Studio application.
- 30000 (TCP) for access to the Replicated Admin Console.
- Online Install
- Airgap Install
Installation
The installation is in two parts: firstly you will install the embedded Kubernetes cluster onto your VM and then you will deploy Rasa Studio on top.
Embedded Cluster Installation
To install the embedded cluster in your VM, your Rasa account team will provide you with a URL and password to download an installation bundle. You can either download this bundle directly onto your VM or transfer it across using a tool such as SCP.
Create a directory on the VM that we will use to host our embedded NFS data. In this example, we name the directory
data
. You will need the full path to this directory later.mkdir dataGive your directory sufficient permissions so that we can write to and read from it:
sudo chmod -R 777 data/Extract the installation bundle
tar -xvzf studio-dragon-stable.tgzInstall the embedded cluster. If you are performing an online install, use:
sudo ./studio-dragon install --license license.yamlIf you are performing an airgap install, use:
sudo ./studio-dragon install --license license.yaml --airgap-bundle studio-dragon.airgapYou'll be prompted for an Admin Console password. This will allow you to access the Replicated Admin Console to deploy Studio. You must remember this password as you proceed with the installation.
Wait for the install to complete. You'll be told when it is ready:
You can now visit the Admin Console on
https://<external-ip-or-hostname>:30000
and proceed past any browser TLS warnings you receive. Login with the password you just set. Note that depending on the network architecture of where you deployed the VM, you may have to use a public or private IP. .After logging in, you'll be presented with the Nodes page where you'll see the node you've just installed the embedded cluster on. Click Continue.
Rasa Studio Configuration
We can now proceed to the install of Studio itself. You will be presented with a configuration screen where the sections are described below.
Rasa Platform Deployment
Choose here whether to deploy only Rasa Studio, only Rasa Pro or both together (Rasa Platform). For these instructions, we will only deploy Studio.
API Keys and Images
Here you will supply the versions of products that you wish to deploy and add the OpenAI API key that is required for building CALM bots in Studio. We recommend that you stick to the default versions set on this page to ensure good compatibility.
tip
You can also choose here to use a Private Registry for if you're using an on-prem Docker image registry such as Artifactory. To do this, you'll need to first create a Kubernetes ImagePullSecret object on the embedded cluster to authenticate with your private registry. On your VM, run the following command to get a shell into the embedded Kubernetes cluster:
Create an ImagePullSecret following the official Kubernetes documentation:
Model Service Replicas
Here you will configure the number of Model Service replicas, as well as any optional advanced configuration you wish to apply to those pods. Aim to deploy n+1
replicas where n
is the number of bots you intend to develop in Studio.
Keycloak
Set administrator credentials for Keycloak, which is the authentication provider for Studio that allows you to connect it to your own SSO provider.
Object Storage
Configure either the GCP Cloud Storage or AWS S3 bucket used for storage. If you are using an S3-compatible storage provider like MinIO, select AWS S3 Bucket and provide the URL for your custom endpoint.
tip
If you don't have access to GCP or AWS, you can deploy MinIO on your VM to emulate an object storage service using their Quickstart instructions.
- The values for AWS Access Key ID and AWS Secret Access Key should be set to the corresponding values for an Access Key you create in the MinIO administration console which you should be able to access by default at
http://<private-ip-of-vm>:9000
. - The value for AWS Region Name can be set to
us-east-1
as it doesn't actually matter for a MinIO connection. - You must check the "Use custom S3 Endpoint" box in the Studio installer to allow you to supply a custom URL.
- The value for Endpoint URL should then be set to
http://<private-ip-of-vm>:9000
.
NFS Server
Choose to use an embedded NFS server or connect to an existing external NFS server.
If you choose to use embedded NFS, ensure the Host Path is the folder you created earlier - if you created it in the default user directory on Ubuntu for example, this would be /home/ubuntu/data
. For Local Node Name, use the hostname of your VM.
tip
Get the hostname of your VM to set this value by running hostname
in your terminal.
Resource Management
Optionally configure Kubernetes resource limits and requests for Studio components.
Database
Choose to use an embedded PostgreSQL server or connect to an existing external PostgreSQL database.
If you choose to use embedded PostgreSQL, all of the setup will be handled for you.
If you choose to use an external PostgreSQL database, you must configure the hostname and authentication credentials.
Kafka
Choose to use an embedded Kafka deployment or connect to an existing external Kafka deployment.
If you choose to use embedded Kafka, no further configuration is required.
If you choose to use an external Kafka deployment, you must configure the hostname, authentication, security settings and pre-create topics on your Kafka deployment yourself before connecting it.
Ingress
For a VM based deployment, ensure that you select Virtual Machine for the deployment. You must also provide an Ingress DNS Hostname for Studio to be accessible after the installation. This should be the domain you have pointing to your VM that was a prerequisite.
tip
If you're deploying on AWS and accessing the machine over the internet, you can use the instance's default public DNS name eg ec2-[IP-ADDRESS].[REGION].compute.amazonaws.com
.
Rasa Studio Installation
- When you've supplied all of the configuration values, click Continue.
- You'll move on to the Preflight Checks screen, which will identify any issues with your infrastructure that may prevent you from successfully deploying Studio. Be sure to resolve any issues that are found before going further.
- When all checks have passed, click Deploy.
- Wait for the installation to complete. This will take about 20 minutes. When this is complete:
- You can access the Rasa Studio UI by visiting
https://<hostname>
in your browser. - You can access the Rasa Studio User Management UI (Keycloak) by visiting the URL
https://hostname/auth
. The credentials to login to the Keycloak administration console are the values you set in the Keycloak section of the Studio Configuration above.
- You can access the Rasa Studio UI by visiting
- You can now proceed to user management and license activation.