Установка Label Studio
В этом документе приведены подробные инструкции по развертыванию Label Studio в кластере Kubernetes и основные параметры конфигурации.
Содержание
ЗагрузкаРазвертываниеПодготовка хранилищаПодготовка базы данныхПодготовка Redis (необязательно)Создание приложенияКонфигурация1. Настройка хранилища1.1 Настройка Storage Class и размера хранилища2. Настройка базы данных2.1 Настройка PostgreSQL2.2 Настройка Redis3. Настройка способа доступа3.1 Изменение типа Service3.2 Включение Ingress3.3 Настройка OAuth2 Proxy (необязательно)4. Настройка управления пользователями4.1 Отключение регистрации пользователейАдрес доступа1. Доступ через Service2. Доступ через IngressУправление пользователямиЗагрузка
Скачайте файл установки Label Studio: label-studio.ALL.xxxx.tgz
Используйте команду violet для публикации в репозиторий платформы:
Развертывание
Подготовка хранилища
Label Studio хранит данные в базе данных и требует постоянного хранилища. В кластере должен быть предварительно установлен CSI или заранее подготовлен PersistentVolume.
Подготовка базы данных
Label Studio поддерживает следующие базы данных:
- PostgreSQL: версия 13 или выше
Для создания PostgreSQL cluster можно использовать PostgreSQL operator, предоставляемый Data Services.
Адрес доступа и пароль можно посмотреть в сведениях об экземпляре PostgreSQL в Data Services.
Подготовка Redis (необязательно)
Redis не обязателен, но рекомендуется для production-сред.
Data Services можно использовать для создания экземпляра Redis.
Примечание: Label Studio поддерживает доступ к Redis только в режиме standalone.
-
Создайте
Redisв режимеstandalone:-
При создании экземпляра
Redisв полеArchitectureвыберитеRedis Sentinel. -
После настройки всех параметров переключитесь в режим
YAML, изменитеspec.archнаstandalone, затем нажмите кнопкуCreate. -
После создания переключитесь в представление
Alauda Container Platformи найдитеServiceс именемrfr-<Redis instance name>-read-write, который является адресом доступа к этому экземпляру Redis.
-
Создание приложения
-
Перейдите в представление
Alauda Container Platformи выберите namespace, в котором будет развернут Label Studio. -
В левом меню выберите
Applications/Applications, затем на правой странице нажмите кнопкуCreate. -
Во всплывающем диалоговом окне выберите
Create from Catalog, после чего страница перейдет в представлениеCatalog. -
Найдите
3rdparty/chart-label-studioи нажмитеCreate, чтобы создать это приложение. -
В форме
Catalog/Create label-studioзаполните полеName(рекомендуетсяlabel-studio) иCustomконфигурацию вValues, затем нажмите кнопкуCreate, чтобы завершить создание. СодержимоеCustomописано ниже. Его также можно изменить после создания с помощью методаUpdateдля приложения.
Конфигурация
Пользователи могут изменять Custom Values приложения, чтобы настраивать конфигурацию. Основные параметры, на которые следует обратить внимание, приведены ниже:
1. Настройка хранилища
1.1 Настройка 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
Также необходимо создать ресурс OAuth2Client в глобальном кластере, чтобы настроить клиентскую информацию Label Studio:
Примечание: адрес доступа OAuth2 proxy можно получить из Service <Application Name>-oauth2-proxy; используйте подходящий способ доступа в зависимости от типа 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, а контроллер балансировщика нагрузки в окружении уже назначил адрес доступа, используйте его.
Для типов Service LoadBalancer или NodePort доступ также возможен через node IP и соответствующий NodePort.
2. Доступ через Ingress
Если Ingress включен, используйте настроенный LABEL_STUDIO_HOST.
Управление пользователями
В Label Studio по умолчанию нет имени пользователя и пароля. Пользователи могут выполнить регистрацию нового пользователя, указав email и пароль на странице входа.
Примечание:
- Конфигурация по умолчанию позволяет любому пользователю регистрировать новых пользователей
- Все пользователи имеют одинаковые функциональные права и могут получать доступ ко всем проектам
- Чтобы ограничить регистрацию пользователей, настройте переменную среды
LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK=true, см.: 4.1 Disable User Registration