This document provides detailed instructions on how to deploy Label Studio to a Kubernetes cluster and common configuration parameters.
Download the Label Studio installation file: label-studio.ALL.xxxx.tgz
Use the violet command to publish to the platform repository:
Label Studio stores data in a database and requires persistent storage. The cluster needs to have CSI pre-installed or PersistentVolume pre-prepared.
Label Studio supports the following databases:
The PostgreSQL operator provided by Data Services can be used to create a PostgreSQL cluster.
Check the access address and password in the PostgreSQL instance details in Data Services.
Redis is not required but recommended for production environments.
Data Services can be used to create a Redis instance.
Note: Label Studio only supports accessing Redis in standalone mode.
Create a Redis in standalone mode:
When creating the Redis instance, select Redis Sentinel for Architecture.
After setting all parameters, switch to YAML mode, change spec.arch to standalone, then click the Create button.
After creation, switch to the Alauda Container Platform view and find the Service named rfr-<Redis instance name>-read-write, which is the access address for this Redis instance.
Go to the Alauda Container Platform view and select the namespace where Label Studio will be deployed.
In the left navigation, select Applications / Applications, then click the Create button on the right page.
In the popup dialog, select Create from Catalog, then the page will jump to the Catalog view.
Find 3rdparty/chart-label-studio and click Create to create this application.
On the Catalog / Create label-studio form, fill in the Name (recommended as label-studio) and Custom configuration in Values, then click the Create button to complete creation. The Custom content will be described below. It can also be modified after creation through the Update application method.
Users can modify the Custom Values of the Application to adjust configuration. The main configurations to focus on are as follows:
The storage class can be specified by adding the following configuration:
PostgreSQL access information can be configured by setting the following fields:
Redis access information can be configured by setting the following fields:
By default, LoadBalancer is used to provide access address
The Service type can be modified by setting the following fields:
Ingress can be configured by setting the following fields. After enabling Ingress, the Service type is usually changed to ClusterIP:
If you want to configure Alauda Container Platform as OIDC Provider, configure as follows:
oauth2_proxy.oidcIssuer is the platform access address plus /dexoauth2_proxy.oidcClientID is fixed as label-studiooauth2_proxy.oidcClientSecret is fixed as ZXhhbXBsZS1hcHAtc2VjcmV0You also need to create an OAuth2Client resource in the global cluster to configure Label Studio's client information:
Note: The OAuth2 proxy access address can be obtained from the <Application Name>-oauth2-proxy Service, use the appropriate access method based on the Service type.
User registration can be disabled by setting the following fields:
Label Studio provides external access through Service. Check its Service to get the access address.
<Application Name>-ls-app<Application Name>-oauth2-proxyIf the Service type is LoadBalancer and the load balancer controller in the environment has assigned an access address, please access through that address.
For LoadBalancer or NodePort service types, access is also available through node IP with its NodePort.
If Ingress is enabled, please access through the configured LABEL_STUDIO_HOST.
Label Studio has no default username and password. Users can complete new user registration by filling in email and password on the login page.
Note:
LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK=true, see: 4.1 Disable User Registration