Kubernetes
Last updated
Was this helpful?
Last updated
Was this helpful?
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.
Kubernetes cluster version 1.21
and later
(if you plan to use GPU features)
(let us know if you want to use another ingress controller)
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 kubectl
command.
Here is the list of changes that we recommend for production use:
Deploy a managed PostgreSQL server and change the POSTGRES_URL
env 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.
Deploy a managed storage solution and adjust STORAGE_*
envs according to the documentation of your storage solution . This is highly recommended for production use.
Change the SERVER_ADDRESS
and DOMAIN
envs 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).
Change storageClassName
in 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 .
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 Team Cluster
page.
Please follow the instructions .