Руководство по установке
Содержание
ВведениеПредварительные требованияТребования безопасности Pod для установкиУстановка Connectors OperatorУстановка ConnectorsCoreУстановка ConnectorsGit (опционально)Установка ConnectorsGitLab (опционально)Установка ConnectorsOCI (опционально)Установка ConnectorsK8S (опционально)Установка ConnectorsMaven (опционально)Установка ConnectorsPyPI (опционально)Установка ConnectorsNPM (опционально)Установка ConnectorsHarbor (опционально)Установка ConnectorsSonarQube (опционально)Удаление ConnectorsПользовательская настройкаКонфигурация ConnectorsCoreКонфигурация ConnectorsGitКонфигурация ConnectorsOCIДополнительные настройкиУстранение неполадокconnectors-csi не готовВведение
Система Connectors имеет модульную архитектуру с следующими компонентами:
- Connectors Operator: центральный управляющий компонент, который отвечает за развертывание и жизненный цикл других компонентов коннекторов
- ConnectorsCore: обязательный основной компонент, обеспечивающий основу для всех типов коннекторов
- ConnectorsGit: дополнительный компонент, добавляющий поддержку Git-сервисов (GitHub, GitLab и др.)
- ConnectorsGitLab: дополнительный компонент, добавляющий поддержку специфичных для GitLab функций (GitLab CLI, расширенная аутентификация)
- ConnectorsOCI: дополнительный компонент, добавляющий поддержку реестров контейнеров (Harbor, Distribution и др.)
- ConnectorsK8S: дополнительный компонент, добавляющий поддержку Kubernetes кластеров
- ConnectorsMaven: дополнительный компонент, добавляющий поддержку Maven-реестров (например, Maven Central или Maven-репозитории, размещённые на Sonatype Nexus)
- ConnectorsPyPI: дополнительный компонент, добавляющий поддержку реестров Python-пакетов (например, PyPI или Python-репозитории на Sonatype Nexus)
- ConnectorsNPM: дополнительный компонент, добавляющий поддержку реестров Node.js-пакетов (например, npm или Node.js-репозитории на Sonatype Nexus)
- ConnectorsHarbor: дополнительный компонент, добавляющий поддержку реестров контейнеров Harbor
- ConnectorsSonarQube: дополнительный компонент, добавляющий поддержку платформ SonarQube и SonarCloud для анализа качества кода
В этом документе приведены инструкции по установке и настройке системы Connectors.
Предварительные требования
Перед установкой убедитесь, что у вас есть:
- Kubernetes кластер
- CLI kubectl, настроенный для взаимодействия с вашим кластером
- Права администратора в кластере
- Connectors Operator в состоянии
Readyв ACP Operator Hub
Требования безопасности Pod для установки
Kubernetes применяет Pod Security Standards (PSS) на уровне namespace. Система Connectors состоит из компонентов с разными требованиями к привилегиям:
Примечание: Если namespace настроен с недостаточной политикой (например, restricted или baseline для CSI компонентов), драйвер CSI не сможет запуститься из-за блокировки привилегированных операций. С другой стороны, применение privileged там, где это не нужно, расширяет поверхность атаки namespace.
Установка Connectors Operator
Сначала установите Connectors Operator, который управляет жизненным циклом всех остальных компонентов.
-
Создайте namespace для оператора:
-
Примените YAML подписки оператора:
-
Проверьте, что оператор запущен:
Вы должны увидеть запущенный pod connectors-operator:
-
Проверьте, что Custom Resource Definitions (CRD) созданы:
Вы должны увидеть CRD, включая:
Установка ConnectorsCore
После запуска оператора установите обязательный компонент ConnectorsCore:
-
Создайте namespace для компонентов коннекторов (если ещё не создан):
-
Создайте кастомный ресурс ConnectorsCore:
-
Отслеживайте прогресс развертывания:
-
Дождитесь, пока статус покажет, что ConnectorsCore готов:
-
Проверьте, что основные pod запущены:
Вы должны увидеть основные компоненты, включая:
-
Проверьте, что CRD, необходимые для функциональности коннекторов, установлены:
Вы должны увидеть:
Установка ConnectorsGit (опционально)
Для добавления поддержки Git-сервисов, таких как GitHub, GitLab и др., установите компонент ConnectorsGit:
-
Создайте кастомный ресурс ConnectorsGit:
-
Отслеживайте прогресс развертывания:
-
Дождитесь, пока статус покажет, что ConnectorsGit готов:
-
Проверьте, что Git-плагин запущен:
Вы должны увидеть:
-
Проверьте, что ConnectorClass для Git создан:
Вы должны увидеть:
Установка ConnectorsGitLab (опционально)
Для добавления поддержки специфичных функций GitLab (GitLab CLI, расширенная аутентификация) установите компонент ConnectorsGitLab:
-
Создайте кастомный ресурс ConnectorsGitLab:
-
Отслеживайте прогресс развертывания:
-
Дождитесь, пока статус покажет, что ConnectorsGitLab готов:
-
Проверьте, что ConnectorClass для GitLab создан:
Вы должны увидеть:
Установка ConnectorsOCI (опционально)
Для добавления поддержки реестров контейнеров, таких как Harbor, Distribution и др., установите компонент ConnectorsOCI:
-
Создайте кастомный ресурс ConnectorsOCI:
Expose через ClusterIP:
Expose через NodePort:
Expose через Ingress:
-
Отслеживайте прогресс развертывания:
-
Дождитесь, пока статус покажет, что ConnectorsOCI готов:
-
Проверьте, что OCI-плагин запущен:
-
Проверьте, что ConnectorClass для OCI создан:
Установка ConnectorsK8S (опционально)
Для добавления поддержки интеграции с Kubernetes кластерами установите компонент ConnectorsK8S:
-
Создайте кастомный ресурс ConnectorsK8S:
-
Отслеживайте прогресс развертывания:
-
Дождитесь, пока статус покажет, что ConnectorsK8S готов:
-
Проверьте, что ConnectorClass для Kubernetes готов:
Установка ConnectorsMaven (опционально)
Для добавления поддержки интеграции с Maven-реестрами установите компонент ConnectorsMaven:
-
Создайте кастомный ресурс ConnectorsMaven:
-
Отслеживайте прогресс развертывания:
-
Дождитесь, пока статус покажет, что ConnectorsMaven готов:
-
Проверьте, что ConnectorClass для Maven готов:
Установка ConnectorsPyPI (опционально)
Для добавления поддержки интеграции с PyPI-реестрами установите компонент ConnectorsPyPI:
-
Создайте кастомный ресурс ConnectorsPyPI:
-
Отслеживайте прогресс развертывания:
-
Проверьте, что ConnectorClass для PyPI готов:
Установка ConnectorsNPM (опционально)
Для добавления поддержки интеграции с NPM-реестрами установите компонент ConnectorsNPM:
-
Создайте кастомный ресурс ConnectorsNPM:
-
Отслеживайте прогресс развертывания:
-
Проверьте, что ConnectorClass для NPM готов:
Установка ConnectorsHarbor (опционально)
Для добавления поддержки интеграции с реестрами Harbor установите компонент ConnectorsHarbor:
-
Создайте кастомный ресурс ConnectorsHarbor:
-
Отслеживайте прогресс развертывания:
-
Проверьте, что ConnectorClass для Harbor готов:
Установка ConnectorsSonarQube (опционально)
Для добавления поддержки интеграции с платформами SonarQube и SonarCloud установите компонент ConnectorsSonarQube:
-
Создайте кастомный ресурс ConnectorsSonarQube:
-
Отслеживайте прогресс развертывания:
-
Проверьте, что ConnectorClass для SonarQube готов:
Удаление Connectors
Для удаления системы Connectors удаляйте компоненты в обратном порядке установки.
-
Сначала удалите опциональные компоненты (если они установлены):
-
Удалите основной компонент:
-
Удалите оператора:
-
Удалите namespaces:
Пользовательская настройка
Вы можете настроить развертывание компонентов коннекторов для лучшего соответствия вашей среде. Все компоненты коннекторов имеют схожую структуру конфигурации.
Конфигурация ConnectorsCore
При создании ресурса ConnectorsCore можно указать пользовательскую конфигурацию:
Конфигурация ConnectorsGit
Пользовательская конфигурация для Git-плагина:
Конфигурация ConnectorsOCI
Пользовательская конфигурация для OCI-плагина:
Дополнительные настройки
Для продвинутых развертываний вы также можете указать:
Устранение неполадок
connectors-csi не готов
Если daemonset/connectors-csi не готов, проверьте события pod connectors-csi.
Типичная ошибка выглядит так:
Это означает, что уровень безопасности namespace слишком ограничен для драйвера CSI.
Решение
- Убедитесь, что namespace настроен с уровнем безопасности Pod
privileged. - Обновите namespace с правильными метками.
- Перезапустите DaemonSet
connectors-csi.
Подробности смотрите в разделе Требования безопасности Pod для установки.