安装 Label Studio
本文档提供有关如何将 Label Studio 部署到 Kubernetes 集群以及常见配置参数的详细说明。
目录
下载部署准备存储准备数据库准备 Redis(可选)创建原生应用配置1. 配置存储1.1 配置 Storage Class 和存储大小2. 配置数据库2.1 配置 PostgreSQL2.2 配置 Redis3. 配置访问方式3.1 修改 Service 类型3.2 启用 Ingress3.3 配置 OAuth2 Proxy(可选)4. 配置用户管理4.1 禁用用户注册访问地址1. 通过 Service 访问2. 通过 Ingress 访问用户管理下载
下载 Label Studio 安装文件:label-studio.ALL.xxxx.tgz
使用 violet 命令发布到平台仓库:
部署
准备存储
Label Studio 将数据存储在数据库中,并且需要持久化存储。集群需要预先安装 CSI,或预先准备好 PersistentVolume。
准备数据库
Label Studio 支持以下数据库:
- PostgreSQL:版本 13 或更高
可以使用 Data Services 提供的 PostgreSQL operator 创建 PostgreSQL 集群。
在 Data Services 中的 PostgreSQL 实例详情里查看访问地址和密码。
准备 Redis(可选)
生产环境中不强制要求 Redis,但建议使用。
可以使用 Data Services 创建 Redis 实例。
注意: Label Studio 仅支持以 standalone 模式访问 Redis。
-
以
standalone模式创建Redis:-
创建
Redis实例时,Architecture请选择Redis Sentinel。 -
设置完所有参数后,切换到
YAML模式,将spec.arch修改为standalone,然后点击Create按钮。 -
创建完成后,切换到
Alauda Container Platform视图,找到名为rfr-<Redis instance name>-read-write的Service,这就是该 Redis 实例的访问地址。
-
创建原生应用
-
进入
Alauda Container Platform视图,并选择部署 Label Studio 的命名空间。 -
在左侧导航中选择
Applications/Applications,然后点击右侧页面上的Create按钮。 -
在弹出对话框中选择
Create from Catalog,页面将跳转到Catalog视图。 -
找到
3rdparty/chart-label-studio并点击Create创建该应用。 -
在
Catalog/Create label-studio表单中,填写Name(建议为label-studio)以及Values中的Custom配置,然后点击Create按钮完成创建。Custom内容将在下文说明。也可以在创建后通过Update应用方式进行修改。
配置
用户可以修改 Application 的 Custom Values 来调整配置。主要需要关注的配置如下:
1. 配置存储
1.1 配置 Storage Class 和存储大小
可以通过添加以下配置来指定 storage class:
2. 配置数据库
2.1 配置 PostgreSQL
可以通过设置以下字段来配置 PostgreSQL 访问信息:
2.2 配置 Redis
可以通过设置以下字段来配置 Redis 访问信息:
3. 配置访问方式
默认使用 LoadBalancer 提供访问地址
3.1 修改 Service 类型
可以通过设置以下字段来修改 Service 类型:
3.2 启用 Ingress
可以通过设置以下字段来配置 Ingress。启用 Ingress 后,Service 类型通常会改为 ClusterIP:
3.3 配置 OAuth2 Proxy(可选)
如果要将 Alauda Container Platform 配置为 OIDC Provider,请按如下方式配置:
oauth2_proxy.oidcIssuer为平台访问地址加上/dexoauth2_proxy.oidcClientID固定为label-studiooauth2_proxy.oidcClientSecret固定为ZXhhbXBsZS1hcHAtc2VjcmV0
还需要在 global cluster 中创建一个 OAuth2Client 资源,用于配置 Label Studio 的客户端信息:
注意:OAuth2 proxy 的访问地址可从 <Application Name>-oauth2-proxy 这个 Service 获取,请根据 Service 类型使用合适的访问方式。
4. 配置用户管理
4.1 禁用用户注册
可以通过设置以下字段来禁用用户注册:
访问地址
1. 通过 Service 访问
Label Studio 通过 Service 提供对外访问。请查看其 Service 以获取访问地址。
- 如果未启用 OAuth2 proxy,Service 名称为:
<Application Name>-ls-app - 如果已启用 OAuth2 proxy,Service 名称为:
<Application Name>-oauth2-proxy
如果 Service 类型为 LoadBalancer,并且环境中的负载均衡器控制器已分配访问地址,请通过该地址访问。
对于 LoadBalancer 或 NodePort 类型的 service,也可以通过 node IP 加上其 NodePort 进行访问。
2. 通过 Ingress 访问
如果启用了 Ingress,请通过配置的 LABEL_STUDIO_HOST 进行访问。
用户管理
Label Studio 默认没有用户名和密码。用户可以在登录页面填写邮箱和密码,完成新用户注册。
注意:
- 默认配置允许任何人注册新用户
- 所有用户具有相同的功能权限,并且可以访问所有项目
- 如需限制用户注册,请配置环境变量
LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK=true,参见:4.1 禁用用户注册