• Русский
  • ConnectorsProxy

    ConnectorsProxy — это ключевой компонент системы Connectors, который обеспечивает безопасный доступ к интегрированным инструментам внутри кластера Kubernetes без необходимости использования секретов. Он выступает в роли прокси-сервера, который обрабатывает аутентификацию и маршрутизацию запросов к реальным конечным точкам инструментов.

    Содержание

    Особенности

    Доступ без секретов

    ConnectorsProxy позволяет клиентам получать доступ к ресурсам инструментов без необходимости напрямую работать с учетными данными для аутентификации. Это значительно повышает безопасность за счёт:

    • Исключения необходимости распространять учетные данные инструментов напрямую клиентам, используя краткоживущие токены, выдаваемые ServiceAccount.
    • Предотвращения утечки учетных данных в логах или переменных окружения
    • Централизации управления учетными данными

    Автоматическое создание сервиса

    При создании Connector ConnectorsProxy автоматически:

    1. Создаёт Kubernetes Service для целей проксирования
    2. Назначает адрес прокси в формате: http://c-{connector-name}.{namespace}.svc.cluster.local
    3. Записывает адрес прокси в поле status.proxy.httpAddress объекта Connector

    Поддержка протоколов

    ConnectorsProxy поддерживает различные протоколы и может обрабатывать разные типы интеграций инструментов:

    • HTTP/HTTPS протоколы для REST API
    • Git протокол с HTTP Authorization для репозиториев кода
    • OCI протокол с Bearer Token Authorization для контейнерных реестров

    Использование

    Доступ к ресурсам инструментов

    Для использования ConnectorsProxy клиентам необходимо:

    1. Использовать адрес прокси вместо оригинального адреса инструмента
    2. При необходимости настроить клиентов для работы через прокси
    3. Получать доступ к ресурсам через конечную точку прокси

    Пример для OCI Registry:

    # Оригинальный адрес образа
    harbor.example.com/test/abc:v1
    
    # Адрес через прокси
    c-harbor-connector.default.svc.cluster.local/test/abc:v1

    Конфигурация

    ConnectorsProxy можно настроить через определение ConnectorClass:

    apiVersion: connectors.alauda.io/v1alpha1
    kind: ConnectorClass
    metadata:
      name: example
    spec:
      proxy:
        ref:
          kind: Service
          name: connectors-proxy-service
          namespace: connectors-system

    Интеграция с CSI Driver

    ConnectorsProxy работает в связке с Connectors CSI Driver, обеспечивая полноценное решение для доступа без секретов:

    1. CSI Driver монтирует необходимые конфигурационные файлы
    2. ConnectorsProxy обрабатывает фактическое проксирование запросов
    3. Клиенты получают доступ к ресурсам без управления учетными данными

    Эта интеграция особенно полезна в сценариях, таких как:

    • Операции git clone в Kubernetes Jobs
    • Операции push/pull образов в Tekton Pipelines
    • Доступ к API в пользовательских нагрузках

    Вопросы безопасности

    ConnectorsProxy повышает безопасность за счёт:

    1. Централизации управления учетными данными
    2. Предотвращения утечки учетных данных в нагрузках
    3. Поддержки TLS-шифрования для прокси-соединений
    4. Реализации корректной аутентификации и авторизации