Kubernetes templates

The templates described here will help you to deploy a multi-host installation of RapidMiner AI Hub. For single-host deployments, see the Docker-compose templates.

Our Docker Images are ready to deploy to any Kubernetes Cluster. We tested our example configurations with these Kubernetes services:

To deploy one of our Kubernetes templates, click Download to download the template files, or select a link for additional details.

For each template, we provide:

  • the proposed volume definitions, where you can adjust the storage size required by the component
  • the service definitions, which are either internal services used by other services (e.g. the database service) or external ones (e.g. RapidMIner Server Web UI), that are exposed to the users.
  • the deployment configurations that are container definitions very similar to the ones used in the docker-compose templates, also including the required environment variables.

You can mix and match these templates if you need to produce a custom deployment, e.g. if you need a production deployment that has both Real-Time Scoring and Hadoop Connectivity capabilities.

See also: Services and locations provided by these templates

Instructions for Kubernetes deployments

1. Make sure that the connection to your Kubernetes cluster is working

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.1", GitCommit:"b7394102d6ef778017f2ca4046abbaa23b88c290", GitTreeState:"clean", BuildDate:"2019-04-08T17:11:31Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.1", GitCommit:"b7394102d6ef778017f2ca4046abbaa23b88c290", GitTreeState:"clean", BuildDate:"2019-04-08T17:02:58Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"linux/amd64"}

2. Create and check the volumes

$ kubectl apply -f volumes.yaml
persistentvolumeclaim/pgvolume-claim created
persistentvolumeclaim/rmsvolume-claim created
$ kubectl get pv pvc
$ kubectl get pv pv

3. Create and check services

$ kubectl apply -f services.yaml`
service/rapidminer-server-amq-svc created
service/postgres-svc created
service/rapidminer-server-svc created
$ kubectl get svc
NAME                        TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
postgres-svc                ClusterIP             5432/TCP         72s
rapidminer-server-amq-svc   ClusterIP           5672/TCP         72s
rapidminer-server-svc       LoadBalancer   ******        8080:30661/TCP   72s

4. Deploy services

$ kubectl apply -f database.yaml
pod/database created
$ kubectl apply -f rapidminer-server.yaml
pod/rapidminer-server created
$ kubectl apply -f job-agent.yaml
deployment.apps/job-agent created

5. Check the running PODs

$ kubectl get pod
NAME                                          READY   STATUS    RESTARTS   AGE
pod/database                                  1/1     Running   0          41m
pod/job-agent-556b49567b-5cm8n                1/1     Running   0          44s
pod/job-agent-556b49567b-6585h                1/1     Running   0          44s
pod/job-agent-556b49567b-zk44g                1/1     Running   0          44s
pod/rapidminer-server                         1/1     Running   0          40m

Services and locations

Once the deployment is running, the configured reverse proxy listens on the standard HTTP (80) port by default and if a HTTPS certificate is configured then on the HTTPS (443) port also. The following locations are available on the deployment public URL (depending on the list of the deployed services).

The initial login credentials are set in the .env file (KEYCLOAK_USER and KEYCLOAK_PASSWORD variables). By default you can login using the username "admin" and password: "changeit".

URL Description
http://<deployment-url> Login screen for RapidMiner AI Hub
http://<deployment-url>/platform-admin Platform Admin
http://<deployment-url>/jupyter JupyterHub
http://<deployment-url>/grafana Dashboards
http://<deployment-url>/get-token Offline Token Generator
http://<deployment-url>/auth/admin Identity and security configuration (Keycloak)

To learn more about the used technologies and how to operate and administer your platform deployment, see our technology overview page.