Comment on page
Follow these steps to deploy Supervisely in Kubernetes cluster.
BETA keep in mind that this is a beta version and some features may not work as expected. The configuration provided by Supervisely is a proof of concept (POC) and not suitable for production use out of the box.
For a production deployment, you should have strong working knowledge of Kubernetes, you can follow the recommendations in this guide to customize the configuration for your needs.
To deploy Supervisely in Kubernetes, you will need a POC configuration file that describes all the Supervisely services required for Kubernetes deployment.
After receiving the configuration, you will have to make some adjustments to it. The configuration is provided as a YAML file that you can apply to your cluster using the
Here is the list of changes that we recommend for production use:
- 1.Deploy a managed PostgreSQL server and change the
POSTGRES_URLenv in the YAML configuration file. It's highly recommended that you deploy a managed server to make sure your data is safe, scalable and available 24/7. The deployed PostgreSQL server should be accessible from the Kubernetes cluster.
- 3.Change the
DOMAINenvs in the YAML configuration file to the URL of your Supervisely server, it can be private or public address. It's mostly used for SSO (in which case it has to match redirect-uri and callback URL) and internal communication between the server and Supervisely agents (if you have dedicated server that are not in Kubernetes cluster, but you want to connect them to the Supervisely cluster).
storageClassNamein the YAML configuration file to the name of the storage class that you want to use for storing data. It can be a local storage class or a cloud storage class, fast CSI storage class is recommended for production use. Consider using "Retain" reclaim policy for the storage class to avoid accidental data loss. You can find more information about the reclaim policy here.
By default Supervisely ships with NGINX ingress configuration, but you can manually configure your ingress controller to route traffic to Supervisely services.
In order to let Supervisely know that you have a Kubernetes cluster available for Apps deployment, you will have to add the cluster on the