安装 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 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应用方式进行修改。
配置
用户可以修改原生应用的 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(虚拟 IP):
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,也可以通过节点 IP 和其 NodePort 进行访问。
2. 通过 Ingress 访问
如果启用了 Ingress,请通过已配置的 LABEL_STUDIO_HOST 访问。
用户管理
Label Studio 没有默认用户名和密码。用户可以在登录页面填写邮箱和密码完成新用户注册。
注意:
- 默认配置允许任何人注册新用户
- 所有用户具有相同的功能权限,可以访问所有项目
- 如需限制用户注册,请配置环境变量
LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK=true,参见:4.1 禁用用户注册