Быстрый старт
Этот документ поможет вам быстро понять, как создать Git Connector и использовать его для безопасного клонирования репозиториев без прямой работы с учетными данными.
Содержание
ВведениеПрименимые сценарииОценочное время чтенияПримечанияПредварительные требованияОбзор процессаШаги для выполненияШаг 1: Создать NamespaceШаг 2: Создать Git Credentials и ConnectorШаг 3: Создать Clone JobШаг 4: Проверить выполнениеОжидаемые результатыКак это работаетУстранение неполадокСледующие шагиВведение
Применимые сценарии
Git Connector позволяет безопасно выполнять операции клонирования кода за счет:
- Централизованного управления учетными данными вместо их жесткого кодирования в рабочих нагрузках
- Автоматической подстановки аутентификации во время процесса клонирования
- Обеспечения контролируемого доступа к приватным репозиториям в командах
Этот подход особенно полезен для:
- CI/CD конвейеров, требующих безопасного доступа к приватным репозиториям
- Команд, которые делятся доступом к репозиториям без передачи учетных данных
- Сред, требующих централизованного управления Git учетными данными
Оценочное время чтения
15 минут
Примечания
- Git Connector использует интеграцию с CSI драйвером для безопасной подстановки Git учетных данных.
- Конфигурации, сгенерированные коннектором, истекают через 30 минут.
Предварительные требования
- Kubernetes кластер с установленной системой Connectors (Operator, Core и Git компоненты). Подробности об установке компонентов смотрите в Installation Guide.
- kubectl, настроенный для работы с вашим кластером
- Git репозиторий с действительными учетными данными (имя пользователя/пароль или токен)
- Базовые знания ресурсов Kubernetes
Обзор процесса
Шаги для выполнения
Шаг 1: Создать Namespace
Создайте выделенный namespace для этой демонстрации:
Шаг 2: Создать Git Credentials и Connector
Создайте Secret с учетными данными Git и ресурс Git Connector. Более подробную информацию о создании и настройке коннекторов смотрите в Connectors Quick Start Guide.
Проверьте, что коннектор находится в статусе "Ready":
Вывод должен быть следующим:
Шаг 3: Создать Clone Job
Создайте job, который использует коннектор для клонирования репозитория:
Ключевые параметры:
connector.name: имя вашего Git коннектораconfiguration.names: установлено в "gitconfig", что ссылается на конкретный шаблон конфигурации, определенный в Git ConnectorClass. Этот шаблон используется для генерации файла ".gitconfig" с необходимыми настройками для аутентификации и переписывания URL.mountPath: должен быть установлен в "/root/", так как контейнер работает от имени root, и Git ищет конфигурацию по пути "/root/.gitconfig"
Шаг 4: Проверить выполнение
Проверьте логи job, чтобы убедиться, что репозиторий успешно клонирован:
Вы должны увидеть успешное завершение операции клонирования Git без ошибок аутентификации.
Ожидаемые результаты
После успешного выполнения всех шагов вы увидите:
-
Git коннектор в статусе "Ready":
-
Успешную операцию клонирования Git в логах job:
Как это работает
Git Connector работает следующим образом:
- Заменяет исходный URL Git репозитория на URL прокси-сервиса
- Внедряет информацию об аутентификации в запросы к прокси-сервису
- Прокси-сервис добавляет необходимые учетные данные при пересылке запросов на Git сервер
Чтобы просмотреть сгенерированную конфигурацию:
Просмотрите сгенерированную конфигурацию:
Пример вывода:
Устранение неполадок
Если операция клонирования не удалась, проверьте следующее:
-
Статус коннектора: Убедитесь, что коннектор в состоянии "Ready":
-
Разрешения RBAC: Проверьте правильность настройки RoleBinding.
-
Конфигурация job:
- Убедитесь, что путь монтирования тома правильный (/root/)
- Проверьте, что URL репозитория совпадает с тем, что настроен в коннекторе
Следующие шаги
После успешного клонирования первого репозитория с помощью Git Connector вы можете:
- Интегрировать этот подход в ваши CI/CD конвейеры
- Использовать коннектор для других операций с Git, таких как push, pull и fetch
- Создавать коннекторы для разных Git сервисов