Check that you have installed the Kubernetes or OpenShift command line interface (CLI). You can check this using the following command:
kubectl version --short --client# The output should be similar to this# Client Version: v1.19.11
Make sure that the Kubernetes / OpenShift CLI is correctly connected to your cluster. You can do so by using the following commands:
kubectl version --short# The output should be similar to this# Client Version: v1.19.11# Server Version: v1.19.10
If you get an error when executing the command, you are not connected to your cluster. To get the command to connect to the cluster please consult your cluster’s admin or the documentation of your cloud provider.
Make sure you have the Helm CLI installed. To check this, run:helm version --short# The output should be similar to this# v3.6.0+g7f2df64
If this command leads to an error, please install the Helm CLI.
In case you are using a version
<3.5of Helm, please update to Helm version
1. Create Namespace
We recommend installing Rasa Open Source in a separate namespace to avoid interfering with existing cluster deployments. To create a new namespace run the following command:
2. Create Values File
Prepare an empty file called
rasa-values.yml which will include all your custom
configuration for the installation with Helm.
All available values you can find in the Rasa helm chart repository.
The default configuration of the Rasa chart deploys a Rasa Open Source Server, downloads a model, and serves the downloaded model. Visit the Rasa helm chart repository to check out more examples of configuration.
3. Loading an initial model
The first time you install Rasa, you may not have a model server available yet, or you may want an lightweight model for testing the deployment. For this purpose, you can choose between training or downloading an initial model. By default, the Rasa chart downloads an example model from GitHub. To use this option, you don't have to change anything.
If you want to define an existing model to download from a URL you define instead, update your
rasa-values.yaml with the URL according to the following configuration:
The URL for the initial model download has to point to a tar.gz file and must not require authentication.
If you want to train an initial model you can do this by setting the
It creates a init container that trains a model based on data located in the
/app directory. If the
/app directory is empty it creates a new project.
You can find an example that shows how to download data files from a git repository and train an initial model in the Rasa helm charts examples.
4. Deploy Rasa Open Source Assistant
Run the following commands:
OpenShift only: If the deployment fails and
oc get events returns
1001 is not an allowed group spec.containers.securityContext.securityContext.runAsUser,
re-run the installation command with the following values:
Then wait until the deployment is ready. If you want to check on its status, the following command will block until the Rasa deployment is ready:
5. Access Rasa Open Source Assistant
By default the Rasa deployment is exposed via the
<release name>) service and accessible only within a Kubernetes cluster. You can get
the IP address using this command:
You can then access the deployment on
Visit the Rasa helm chart README to learn other ways to expose your deployment.
- Visit the Rasa helm chart repository where you can find examples of configuration
- Visit the Rasa X docs and learn how to integrate your Rasa Open Source deployment with Rasa X.
Alternative Deployment Methods
It is also possible to deploy a Rasa assistant using Rasa Ephemeral Installer, Docker or Docker Compose. Choose one of the alternatives methods listed below to see details.