Быстрый старт
Этот документ поможет вам быстро понять, как создать Git Connector и использовать его для безопасного клонирования репозиториев без прямого обращения с учетными данными.
Содержание
Введение
Применимые сценарии
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 сервисов