Коннектор
Содержание
ОбзорАдрес ConnectorБазовый формат URLURL с префиксом путиПараметры ConnectorСведения об аутентификацииНастройка сведений об аутентификацииНеобязательная аутентификацияПроверка аутентификацииПрокси-адресСведения о состоянииПримерыGit Connector с базовой аутентификациейGit Connector без аутентификацииОбзор
Connector — это ресурс уровня namespace, используемый для определения конфигурации соединения между инструментами и платформами. Он включает:
- Адрес доступа к инструменту
- Сведения об аутентификации инструмента
- Информацию о состоянии инструмента
Например, следующее определение иллюстрирует Connector типа Git:
Адрес Connector
Поле address задает URL-адрес целевой системы, с которой будет интегрироваться Connector. Оно принимает как корневые URL, так и URL с префиксом пути.
Базовый формат URL
Для инструментов, доступных в корневом домене:
URL с префиксом пути
Для инструментов, развернутых за reverse proxy или доступных по определенным путям:
Примечание
Проверка аутентификации и liveness probe на основе http не будут выполняться для префикса пути. Если вы хотите выполнять проверку с учетом префикса пути, можно использовать выражения проверки аутентификации и выражения проверки liveness.
Подробнее см. liveness probe и authentication probe.
Параметры Connector
Параметры Connector позволяют передавать дополнительную конфигурационную информацию экземпляру Connector. Эти параметры сначала определяются в спецификации ConnectorClass, а затем могут настраиваться при создании отдельных ресурсов Connector.
Значения параметров можно указать в Connector с помощью поля spec.params.
spec.params[].name: Имя параметра, которое должно совпадать с именем параметра, определенным в соответствующемConnectorClass.spec.params[].value: Значение параметра. Тип значения должен соответствовать типу параметра, определенному вConnectorClass. В настоящее время поддерживается только типstring.
Если для параметра в ConnectorClass задано значение по умолчанию, при создании Connector можно опустить этот параметр, и будет использовано значение по умолчанию.
Дополнительные сведения об определении параметров в ConnectorClass см. в Параметры ConnectorClass.
Пример
Следующий пример демонстрирует Connector, настроенный с параметром sslVerify:
Сведения об аутентификации
Сведения об аутентификации определяют учетные данные для доступа к инструменту. В зависимости от типа инструмента могут настраиваться разные способы аутентификации. Этот метод аутентификации определяется в ConnectorClass. Подробности см. в описании сведений об аутентификации в ConnectorClass.
Настройка сведений об аутентификации
Сведения об аутентификации настраиваются следующим образом:
- Укажите имя типа аутентификации, используемого согласно определению ConnectorClass.
- Создайте Secret, содержащий учетные данные.
- Сослитесь на Secret в Connector через
spec.auth.secretRef. - Укажите сведения о параметрах, необходимых во время проверки аутентификации.
Например, для настройки базовой аутентификации:
Необязательная аутентификация
Некоторые инструменты поддерживают доступ без аутентификации. В этом случае spec.auth.secretRef можно опустить.
Например, доступ к публичному Git-репозиторию:
Проверка аутентификации
Connector поддерживает проверку корректности сведений об аутентификации. Конфигурация проверки задается через spec.auth.params, где указываются параметры, необходимые для проверки аутентификации.
Например, чтобы проверить права доступа к Git-репозиторию:
Обратите внимание: если в ConnectorClass указаны параметры обнаружения аутентификации, параметры в connector должны быть предоставлены обязательно. Даже если Connector создан без указания secret information, spec.auth.params должен быть передан.
Прокси-адрес
Если Connector указывает на ConnectorClass, для которого настроена возможность proxy, система выделит proxy-адрес для каждого Connector.
Клиенты могут использовать этот proxy-адрес для доступа к инструменту без секретов.
Формат proxy-адреса по умолчанию: http://c-{connector-name}.{namespace}.svc.cluster.local, его можно получить из status.proxy.
Например, следующий пример описывает Connector с proxy-адресом:
Когда в ConnectorClass настроен resolver proxy-адреса с типом path, формат proxy-адреса будет http://c-{connector-name}.{namespace}.svc.cluster.local/namespaces/{namespace}/connectors/{connector-name}, где {path} — это путь Connector.
Например, следующий пример описывает Connector с proxy-адресом:
Сведения о состоянии
Сведения о состоянии Connector записываются в поле status и содержат proxy-адрес, API-адрес и conditions:
status.conditions: Conditions Connector.status.proxy: Proxy-адрес Connector.status.api: API-адрес Connector.
Proxy-адрес
Поле proxy содержит proxy-адрес Connector.
status.proxy.httpAddress.url: HTTP-адрес proxy для текущего Connector.
Вы можете использовать этот адрес с существующими клиентами инструмента для доступа к нему без секретов внутри кластера. Подробнее см. Connector Proxy.
Если ConnectorClass не поддерживает proxy, поле status.proxy будет пустым.
API-адрес
Поле api содержит API-адрес Connector.
status.api.path: Относительный путь API для текущего Connector (относительно точки входа доступа ingress кластера).
Вы можете использовать этот путь вне кластера, чтобы через текущий Connector обращаться к исходному API инструмента. Подробнее см. Connector API.
Conditions
Тип conditions включает:
ConnectorClassReady: Указывает, корректен ли тип connector.SecretReady: Указывает, правильно ли настроены сведения об аутентификации.LivenessReady: Указывает, доступен ли инструмент.AuthReady: Указывает, корректны ли сведения об аутентификации.ProxyServiceReady: Указывает, успешно ли выделен proxy-адрес для текущего Connector.Ready: Указывает общее состояние.
Condition SecretReady
Указывает состояние Secret для Connector.
Condition AuthReady
Указывает состояние аутентификации для Connector.
Condition LivenessReady
Указывает состояние доступности Connector.
Condition ProxyServiceReady
Указывает состояние proxy-сервиса для Connector.
Например: