当前位置: 首页 > news >正文

在 Kubernetes 上部署 Label Studio

1. 概述

Label Studio 是一款开源的数据标注工具,支持多种标注任务,如文本标注、图像标注、音频标注等

2. 前提条件

在开始之前,请确保你具备以下条件:

  • 一个 Kubernetes 集群(版本 1.18 或更高)。

  • 安装了 Helm 包管理工具。

  • 可访问并配置 S3 或 Ceph 存储(用于持久化文件存储)。

  • 已配置外部数据库(如 PostgreSQL)。

  • 配置了外部 Redis 实例(可选,作为缓存和任务队列使用)。

3. 部署步骤

3.1 添加helm chart仓库

helm repo add heartex https://charts.heartex.com/
helm repo update heartex
helm search repo heartex/label-studio

3.2 准备 values.yaml 配置文件

查看Chart 中定义的所有Values

helm show values heartex/label-studio > value.yaml

以下是一个 values.yaml 配置文件示例,针对 Kubernetes 部署设置了 S3 存储、PostgreSQL 数据库和 Redis 缓存:

global:image:registry: "docker.io"repository: "heartexlabs/label-studio"pullPolicy: "IfNotPresent"tag: ""pgConfig:host: "10.x.x.x"port: 5432dbName: "label_studio_prod"userName: "label_studio_prod"password:secretName: "pgsql-passwd"secretKey: "password"ssl:pgSslMode: ""pgSslSecretName: ""pgSslRootCertSecretKey: ""pgSslCertSecretKey: ""pgSslKeySecretKey: ""redisConfig:host: "redis-labelstudio.example.com"password:secretName: "redis-passwd"secretKey: "password"ssl:redisSslCertReqs: ""redisSslSecretName: ""redisSslCaCertsSecretKey: ""redisSslCertFileSecretKey: ""redisSslKeyFileSecretKey: ""persistence:enabled: truetype: s3config:s3:accessKey: "your-access-key"secretKey: "your-secret-key"region: "your-region"bucket: "your-bucket"folder: ""  # optionalurlExpirationSecs: "3600"  # 签名 URL 的过期时间endpointUrl: "https://your-s3-endpoint"
  • pgConfig:配置 PostgreSQL 数据库连接信息。

  • redisConfig:配置 Redis 实例的连接信息(如果使用)。

  • persistence:配置 S3 或 Ceph 对象存储,用于存储上传的文件。

3.3 创建redis、postgresql密码对应的secret

kubectl -n kube-system create secret generic redis-passwd --from-literal=password='redis-passwd'kubectl -n kube-system create secret generic pgsql-passwd --from-literal=password='pgsql-passwd'

3.4 使用 Helm 部署 Label Studio

  1. 使用配置文件 values.yaml 安装 Label Studio:

    helm -n kube-system install  heartex/label-studio  -f value.yaml  --generate-name

    该命令将在 kube-system 命名空间中部署 Label Studio。


4. 访问 Label Studio

  1. 创建一个 Ingress 资源:如果你希望通过域名访问 Label Studio,配置 Ingress。

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:name: labelstudio-ingressnamespace: kube-systemannotations:nginx.ingress.kubernetes.io/rewrite-target: /nginx.ingress.kubernetes.io/proxy-body-size: "50m"nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
    spec:ingressClassName: nginxrules:- host: labelstudio.example.comhttp:paths:- path: /pathType: Prefixbackend:service:name: label-studio-1753688001-ls-appport:number: 80
  2. 端口转发:如果不使用 Ingress,可以通过 kubectl 进行端口转发,临时访问 Web UI。

    kubectl port-forward --address 0.0.0.0  -n kube-system label-studio-1753688001-ls-app-6c4d84b449-jk2cm 9090:8085

    然后通过浏览器访问 http://localhost:8080

5.更新部署

#helm -n kube-system list
label-studio-1753688001	kube-system	10      	2025-07-30 13:55:01.925579305 +0800 CST	deployed	label-studio-1.10.0	1.20.0#helm -n kube-system upgrade label-studio-1753688001 heartex/label-studio -f value.yaml

http://www.dtcms.com/a/305882.html

相关文章:

  • 汽车免拆诊断案例 | 免拆诊断发动机起动困难故障2例
  • Visual Studio Code 使用指南 (2025年版)
  • lesson28:Python单例模式全解析:从基础实现到企业级最佳实践
  • 【网络工程师软考版】路由协议 + ACL
  • 网络资源模板--基于Android Studio 实现的图书商城App
  • 如何不让android studio自动换行
  • UDP通讯和TCP通讯的区别-UDP(用户数据报协议)和 TCP(传输控制协议)
  • 第十七章 追新词
  • Python 闭包(Closure) 特性剖析
  • Linux ps -ef 命令解析
  • 三十二、【Linux网站服务器】搭建httpd服务器演示虚拟主机配置、网页重定向功能
  • STM32学习记录--Day3
  • ubuntu编译opendds
  • STM32CubeMX 生成时钟获取函数的分析
  • OmniParser:提升工作效率的视觉界面解析工具
  • react+ant design怎么样式穿透-tooltip怎么去掉箭头
  • 地下停车场照明节能:技术方案与价值重构
  • day7 替换数字那道题需要多写几次
  • 容器与虚拟机的本质差异:从资源隔离到网络存储机制
  • InfluxDB 3 数据库命名与创建全攻略:规范、限制与实战指南
  • Linux 进程管理与计划任务详解
  • 在 CentOS 系统上安装 Docker
  • ComfyUI自定义图片导出路径
  • SpringBoot 2.7.18 升级 3.4.6
  • PHP语法高级篇(七):MySQL数据库
  • 具身智能 自动驾驶相关岗位的技术栈与能力地图
  • 微信小程序中实现页面跳转的方法
  • 爬虫验证码处理:ddddocr 的详细使用(通用验证码识别OCR pypi版)
  • 第2章 cmd命令基础:常用基础命令(2)
  • 数据驱动的自动驾驶虚拟测试方法