Connector
— это ресурс, представляющий интегрированный экземпляр конкретного инструмента. Настраивая URL доступа к инструменту и данные для аутентификации, мы можем создать экземпляр для интеграции с этим инструментом.
Например, интеграция с https://github.com
с использованием GitHub Private Access Token
осуществляется через Connector
.
В Kubernetes
Connector
является ресурсом с областью действия namespace. Пользователи могут создавать несколько Connector
в одном namespace для интеграции различных инструментов.
Например, в namespace default
можно создать как Connector
для интеграции с https://github.com
, так и Connector
для интеграции с https://hub.docker.com/
.
Администраторы платформы могут управлять интеграциями инструментов по всему кластеру, управляя ресурсами Connector
.
ConnectorClass
определяет методы доступа и спецификации поведения для конкретных типов инструментов. Он задаёт параметры, необходимые при интеграции с определённым типом инструмента, такие как адрес инструмента и данные для аутентификации.
Например, Git ConnectorClass
определяет конфигурационные элементы, которые необходимо предоставить при интеграции с Git-инструментами, включая адрес Git-сервиса и данные аутентификации Basic-Auth
.
В Kubernetes
ConnectorClass
является ресурсом с областью действия кластера. Разработчики могут расширять поддерживаемые платформой типы инструментов, определяя новые ConnectorClass
.
Например, можно определить Harbor ConnectorClass
для поддержки интеграции с репозиторием образов Harbor, MySQL ConnectorClass
для интеграции с базами данных MySQL или Jira ConnectorClass
для интеграции с инструментами управления проектами Jira.
ConnectorsProxy
— это ключевой компонент системы Connectors
, обеспечивающий безопасный и безсекретный доступ к интегрированным инструментам внутри кластера Kubernetes. Он выступает в роли прокси-сервера, который обрабатывает аутентификацию и маршрутизацию запросов к реальным конечным точкам инструментов.
ConnectorsProxy
позволяет клиентам получать доступ к ресурсам инструментов без необходимости напрямую работать с учётными данными для аутентификации. Это значительно повышает безопасность за счёт:
Он поддерживает различные протоколы и может обрабатывать разные типы интеграций инструментов:
Подробнее: Connectors Proxy
Connectors API
предоставляет возможности доступа к внутренним ресурсам инструментов на основе экземпляров Connector
. Например, для Git Connector
Connectors API
может получить список веток (References) в Git-репозитории.
Разработчики могут удобно получать доступ к ресурсам внутри инструментов через Connectors API
, не заботясь о конкретных адресах инструментов и деталях аутентификации.
Этот API очень полезен в практических приложениях, таких как:
Реализация Connectors API
основана на возможностях, предоставляемых ConnectorClass API
.
ConnectorClass API
определяет API, предоставляемые конкретными типами инструментов.
Разные типы инструментов могут предлагать различные возможности API, например:
Git ConnectorClass API
может предоставлять возможность получения списка веток репозитория кодаOCI ConnectorClass API
может предоставлять возможность получения списка тегов для репозиториев артефактовРазработчики могут определять уникальные возможности API для каждого ConnectorClass
, и эти возможности в конечном итоге будут доступны клиентам через Connectors API
.
Для упрощения использования возможностей Connectors-Proxy рабочими нагрузками K8S можно использовать Connectors CSI Driver.
Connectors CSI Driver может монтировать отрендеренное содержимое шаблонов конфигурационных файлов, поддерживаемых внутри ConnectorClass, в рабочую нагрузку. Конфигурационный файл может содержать информацию для доступа к Connectors Proxy
, что позволяет пользователям использовать возможности Connectors Proxy с минимальными изменениями в их исходных скриптах.
Для получения дополнительной информации смотрите connectors csi driver