安装 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 将数据存储在数据库中,并且需要持久化存储。集群需要预先安装 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 的 namespace。 -
在左侧导航中,选择
Applications/Applications,然后点击右侧页面上的Create按钮。 -
在弹窗中选择
Create from Catalog,页面将跳转到Catalog视图。 -
找到
3rdparty/chart-label-studio,点击Create创建该应用。 -
在
Catalog/Create label-studio表单中,填写Name(建议为label-studio)以及Values中的Custom配置,然后点击Create按钮完成创建。Custom内容将在下文说明。也可以在创建后通过Update应用方式进行修改。
配置
用户可以修改应用的 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 集群中创建一个 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 服务类型,也可以通过节点 IP 和其 NodePort 访问。
2. 通过 Ingress 访问
如果启用了 Ingress,请通过配置好的 LABEL_STUDIO_HOST 访问。
用户管理
Label Studio 默认没有用户名和密码。用户可以在登录页面填写邮箱和密码完成新用户注册。
注意:
- 默认配置允许任何人注册新用户
- 所有用户具有相同的功能权限,并且可以访问所有项目
- 如需限制用户注册,请配置环境变量
LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK=true,请参见:4.1 禁用用户注册