Быстрый старт
Этот документ поможет вам быстро понять, как создать GitLab Connector и использовать его для безопасного клонирования репозиториев и выполнения операций с GitLab без прямой работы с учетными данными.
Содержание
Оценочное время чтенияТребованияОбзор процессаШаги выполненияШаг 1: Создать NamespaceШаг 2: Создать учетные данные GitLab и ConnectorШаг 3: Создать задачу клонированияШаг 4: Проверить выполнениеКак это работаетУстранение неполадокСледующие шагиОценочное время чтения
15 минут
Требования
- Kubernetes кластер с установленной системой Connectors (компоненты ConnectorsCore и ConnectorsGitLab). Подробнее об установке этих компонентов смотрите в Installation Guide.
- kubectl, настроенный для работы с вашим кластером
- Репозиторий GitLab с действительным Private Access Token (PAT)
- Базовые знания ресурсов Kubernetes
Обзор процесса
Шаги выполнения
Шаг 1: Создать Namespace
Создайте отдельное пространство имен для этой демонстрации:
Шаг 2: Создать учетные данные GitLab и Connector
Создайте Secret, содержащий GitLab Private Access Token, и ресурс GitLab Connector. Более подробную информацию о создании и настройке коннекторов смотрите в Connectors Quick Start Guide.
Важные замечания:
- Тип секрета должен быть
connectors.cpaas.io/gitlab-pat-auth - Для GitLab.com используйте
https://gitlab.comв качестве адреса - Для самохостингового GitLab используйте URL вашего GitLab сервера (например,
https://gitlab.example.com) - Поле
addressдолжно содержать URL GitLab сервера для клонирования репозиториев, а не адрес API
Проверьте, что коннектор находится в статусе "Ready":
Вывод должен быть примерно таким:
Шаг 3: Создать задачу клонирования
Создайте задачу, которая использует коннектор для клонирования репозитория GitLab с помощью Git CLI:
Замените https://<your-gitlab-server>/<your-group>/<your-repo>.git на URL вашего реального репозитория GitLab.
Ключевые параметры:
connector.name: имя вашего GitLab коннектораconfiguration.names: установлено в "gitconfig" для монтирования файла конфигурации GitmountPath: монтирует конфигурацию в/opt/gitи копирует в/root/для использования Git
Шаг 4: Проверить выполнение
Проверьте логи задачи, чтобы убедиться, что репозиторий успешно клонирован:
Вы должны увидеть успешное завершение операции клонирования без ошибок аутентификации. В выводе будет примерно следующее:
Как это работает
GitLab Connector работает следующим образом:
- Заменяет исходный URL репозитория GitLab на URL прокси-сервиса
- Встраивает информацию об аутентификации (K8S API Token) в запросы к прокси-сервису
- Прокси-сервис добавляет необходимые учетные данные (Secret коннектора) при пересылке запросов на сервер GitLab
- Для операций Git файл
.gitconfigсодержит правила переписывания URL и заголовки аутентификации
Чтобы просмотреть сгенерированную конфигурацию:
Просмотрите сгенерированную конфигурацию Git:
Пример вывода:
Эта конфигурация:
- Добавляет заголовок Authorization с закодированным K8S API Token
- Переписывает URL GitLab для использования прокси-сервиса
Устранение неполадок
Если операция клонирования не удалась, проверьте следующее:
-
Статус коннектора: Убедитесь, что коннектор находится в состоянии "Ready":
-
Private Access Token: Проверьте, что ваш GitLab PAT имеет необходимые разрешения:
- Требуется область
read_repositoryдля клонирования
- Требуется область
-
Конфигурация задачи:
- Убедитесь, что путь монтирования тома корректен
- Проверьте, что URL репозитория соответствует вашему GitLab репозиторию
- Убедитесь, что файл
.gitconfigкорректно скопирован в/root/
-
Сетевое соединение: Убедитесь, что ваш кластер может достучаться до GitLab сервера
Следующие шаги
После успешного клонирования первого репозитория с помощью GitLab Connector вы можете:
- Узнать, как использовать GitLab CLI (glab) с коннектором для взаимодействия с GitLab в Using GitLab CLI Guide
- Использовать кастомные CLI инструменты, такие как reviewdog, для работы с GitLab в Using Reviewdog CLI Tools Guide
- Интегрировать этот подход в ваши CI/CD пайплайны в CI/CD Integration Guide
- Изучить GitLab ConnectorClass Concepts для расширенных вариантов настройки