Connectors CSI Driver
Содержание
Overview
Драйвер Connectors CSI — это драйвер хранения, реализованный на основе спецификации Container Storage Interface (CSI). Он позволяет монтировать конфигурации из Connector в виде томов в Kubernetes workloads. Основные возможности включают:
- Монтирование конфигурационных файлов из Connector в Pods
- Поддержка динамического рендеринга переменных в конфигурационных файлах для автоматической подстановки информации во время выполнения
- Поддержка одновременного монтирования нескольких конфигурационных файлов
Все данные конфигурации берутся из ConnectorClass configuration, связанной с Connector.
Quick Start
1. Создайте ConnectorClass
Сначала создайте ConnectorClass, который включает конфигурацию Git:
2. Создайте Connector
Затем создайте Connector, который подключается к GitHub:
3. Создайте Pod с использованием CSI Driver
Теперь можно создать Pod, чтобы смонтировать конфигурацию из ConnectorClass:
4. Настройте права доступа
Чтобы Pod мог получить доступ к конфигурации Connector, необходимо предоставить ServiceAccount Pod'а права на чтение ресурсов Connector:
Когда Pod запущен, вы можете проверить содержимое смонтированного конфигурационного файла с помощью следующей команды:
Описание конфигурации
Параметры конфигурации CSI тома
Параметры volumeAttributes
Описание имени конфигурации
Параметр configuration.names должен соответствовать именам конфигураций, определённых в ConnectorClass. Например:
Монтирование одной конфигурации:
Монтирование нескольких конфигураций:
Примечание: если в нескольких конфигурациях есть файлы с одинаковыми именами, файлы из последующей конфигурации перезапишут файлы из предыдущей.
Рендеринг конфигурационных файлов
Драйвер CSI выполняет рендеринг переменных при монтировании конфигурационных файлов, используя синтаксис Go template.
Доступные переменные
Встроенные функции
Поддерживаемые функции см. в sprig
Например: b64enc — Base64 кодирование строки
О прокси-сервисе
Connectors предоставляют прокси-сервис для каждого Connector, позволяющий клиентам обращаться к целевым ресурсам без необходимости хранить исходные учетные данные. Подробнее см. в connectors-proxy.