Предварительная настройка
Содержание
Подготовка сервиса GitLabВарианты развертывания1. Требования к сервису GitLab2. Использование плагина, предоставленного платформой3. Использование собственного сервиса GitLabНастройка GitLab1. Отключение срока действия токенов доступа2. Создание нового токена3. Создание kubernetes-секрета для токена администратораЧасто задаваемые вопросы (FAQ)1. Как оптимизировать конфигурацию GitLab 18.5 и выше для больших объектов LFS?Параметры аннотаций IngressШаги настройкиПодготовка сервиса GitLab
В Alauda AI GitLab является ключевым компонентом для управления моделями. Перед развертыванием Alauda AI необходимо подготовить сервис GitLab.
Варианты развертывания
1. Требования к сервису GitLab
Независимо от способа развертывания, все инстансы GitLab должны соответствовать следующим требованиям:
- Версия: должна быть v15 или выше.
- Протокол: должен использоваться HTTPS. Инструкции по настройке см. в Настройка HTTPS.
- Git LFS: должен быть включён. Инструкции по настройке см. в Управление большими файлами с помощью LFS.
- Хостинг: должен быть самостоятельно размещённым (публичные облачные сервисы GitLab не поддерживаются).
- Токены доступа: необходимо отключить срок действия для токенов доступа.
2. Использование плагина, предоставленного платформой
Разверните новый сервис GitLab с помощью плагина 'Alauda Build of GitLab'. Инструкции см. в: Развертывание Alauda Build of GitLab.
3. Использование собственного сервиса GitLab
В качестве альтернативы можно использовать самостоятельно управляемый инстанс GitLab, но он должен соответствовать требованиям к сервису GitLab.
Настройка GitLab
Перед развертыванием Alauda AI выполните следующие шаги настройки GitLab после получения сервиса.
1. Отключение срока действия токенов доступа
Если GitLab работает на версии v17.0 или выше, необходимо отключить срок действия токенов доступа.
Если срок действия токенов доступа остаётся включённым, администратору придётся вручную обновлять токен не реже одного раза в год, иначе функциональность Alauda AI может прекратиться.
Чтобы отключить срок действия для новых токенов доступа:
- В левой боковой панели внизу выберите Admin.
- Перейдите в Settings > General.
- Разверните раздел Account and limit.
- Снимите галочку с опции Personal / Project / Group access token expiration.
- Нажмите Save changes.
2. Создание нового токена
Чтобы создать токен имитации (impersonation token) для администратора:
- В левой боковой панели внизу выберите Admin.
- Перейдите в Overview > Users.
- Выберите пользователя администратора (например, Administrator).
- В верхней навигационной панели выберите Impersonation Tokens.
- Нажмите Add new token.
- В появившейся форме:
- Введите название токена для Alauda AI (например,
aml-root). - Удалите дату истечения срока действия (нажмите иконку "x" для удаления даты).
- Отметьте ВСЕ области действия (особенно область api) в разделе Select scopes.
- Введите название токена для Alauda AI (например,
- Нажмите Create impersonation token.
- Сохраните вновь созданный токен, указанный под Your new impersonation token, он понадобится позже.
Обязательно сохраните созданный токен — повторно получить его будет невозможно.
3. Создание kubernetes-секрета для токена администратора
Далее создайте секрет для токена администратора GitLab с именем aml-gitlab-admin-token в пространстве имён cpaas-system:
- Создаётся секрет для токена администратора GitLab с именем aml-gitlab-admin-token.
- Токен сохраняется под ключом password, замените
${TOKEN}на реальный сохранённый токен. - Секрет создаётся в пространстве имён cpaas-system.
Часто задаваемые вопросы (FAQ)
1. Как оптимизировать конфигурацию GitLab 18.5 и выше для больших объектов LFS?
Проблема:
При загрузке больших объектов LFS в GitLab 18.5 и выше может возникать ошибка HTTP 413. Для управления AI-моделями часто требуется загружать большие файлы моделей через LFS, которые превышают стандартный лимит proxy-body-size (обычно 512M) в контроллере ingress Nginx (данные аннотации Nginx ingress обычно универсальны и применимы к другим версиям GitLab с ограничениями на размер загрузки LFS).
Ниже приведён аутентичный диагностический вывод клиента Git LFS; фрагменты %!!(string=...) — это артефакты форматирования Go и их можно игнорировать — ключевая ошибка — ответ HTTP 413.
Решение: Для обработки больших загрузок и улучшения общей производительности необходимо настроить определённые аннотации Nginx Ingress на вашем сервисе GitLab.
Параметры аннотаций Ingress
Ниже приведён список рекомендуемых параметров Ingress и их назначение:
Шаги настройки
Эти оптимизации можно применить, обновив Custom Resource (CR) GitLabOfficial.
1. Применение через команду kubectl patch
Выполните следующую команду для прямого обновления аннотаций ingress в вашем CR GitLabOfficial:
- Замените
your-instance-nameна имя вашего экземпляра GitLabOfficial (например,gitlab-aml). - Замените
your-instance-namespaceна пространство имён, где развернут ваш GitLabOfficial (например,gitlab-system-aml).
2. Справка по иерархии YAML
Для справки, иерархическая структура ingress.annotations в CR GitLabOfficial spec выглядит следующим образом:
- Эти оптимизации обеспечивают беспрепятственную работу GitLab 18.5 с большими загрузками AI-моделей через Git LFS и повышают стабильность передачи данных.
- Рекомендуется применять эти настройки при первоначальном развертывании GitLab, чтобы избежать проблем в работе после запуска.