安装 Label Studio
本文档详细介绍了如何将 Label Studio 部署到 Kubernetes 集群及常用配置参数。
目录
下载部署准备存储准备数据库准备 Redis(可选)创建原生应用配置1. 配置存储1.1 配置存储类和存储大小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 实例名>-read-write的Service,该 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 配置存储类和存储大小
可通过添加以下配置指定存储类:
2. 配置数据库
2.1 配置 PostgreSQL
通过设置以下字段配置 PostgreSQL 访问信息:
2.2 配置 Redis
通过设置以下字段配置 Redis 访问信息:
3. 配置访问方式
默认使用 LoadBalancer 提供访问地址。
3.1 修改 Service 类型
通过设置以下字段修改 Service 类型:
3.2 启用 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 也可通过 节点 IP 和其 NodePort 访问。
2. 通过 Ingress 访问
启用 Ingress 后,请通过配置的 LABEL_STUDIO_HOST 访问。
用户管理
Label Studio 无默认用户名和密码,用户可在登录页填写邮箱和密码完成新用户注册。
注意:
- 默认配置允许任何人注册新用户
- 所有用户权限相同,可访问所有项目
- 若需限制用户注册,请配置环境变量
LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK=true,详见:4.1 禁用用户注册