安装 Label Studio
本文档提供了将 Label Studio 部署到 Kubernetes 集群以及常见配置参数的详细说明。
目录
下载部署准备存储准备数据库准备 Redis(可选)创建原生应用配置1. 配置存储1.1 配置 StorageClass 和存储大小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 cluster。
请在 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 配置 StorageClass 和存储大小
可以通过添加以下配置来指定存储类:
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 集群中创建一个 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 禁用用户注册