Production Installation
This topic shows how to install Space on-premises to a custom Kubernetes cluster using the deployment script. Alternatively, you can perform the installation using the Space Helm chart.
Prepare your cluster
Decide on a list of services for your cluster.
Space on-premises lets you reuse services that already exist in your environment. Thus, if you already have a PostgreSQL server, you can use it for storing Space data. Otherwise, Space will create a container with the service. See the table below for better understanding which services can be reused.
Service
Description
NGINX Ingress controller
You can reuse an existing controller or install a new one with the script.
Elasticsearch
The script creates a container with Elasticsearch itself. You cannot reuse an existing instance. Make sure the target node for Elasticsearch has the
max_map_count
kernel parameter set to 262144 or more.PostgreSQL 11+
You can reuse an existing database server or install a new one with the script.
MinIO 2021.6.17+ or another S3-compatible object storage
You can reuse existing storage or install new one with the script.
Redis
The script creates a container with Redis itself. You cannot reuse an existing instance.
Mail server
Optional. If you don't provide a mail server, Space will not be able to send emails, like new user invitations.
The script doesn't install a mail server. You must have a configured mail server in your network.
Cert manager
Optional. If you don't provide a cert manager, Space will work only through http.
The script doesn't install a cert manager. You must have a configured manager in your network.
Persistent volumes
Space on-premises requires persistent volumes to store databases and other data. Before installing Space on-premises you must either configure dynamic provisioning in your cluster or create the required persistent volumes. The volumes must be described in a
StorageClass
.Create a
kubectl
context for the cluster.
Install Space on-premises to your cluster
Download the deployment script.
Grant execution permissions to the script file:
chmod +x ./deploy_interactive.shRun the deployment script:
./deploy_interactive.shWhen asked for the
kubectl
context, provide the context of your cluster.When asked for the environment, choose
custom
.Follow other installation steps. Note that after the script finishes the installation, it may take some time for the Space components to start. Note that the script also creates the
{your-context}-custom.yaml
file in its working directory. This file contains main cluster configuration parameters and can be used for the manual Space on-premises installation.Open your Space on-premises instance in a browser.
Perform post-installation steps.