Руководство по установке
Содержание
ВведениеПредварительные требованияТребования к Pod Security для установкиУстановка Connectors OperatorУстановка ConnectorsCoreУстановка ConnectorsGit (необязательно)Установка ConnectorsGitHub (необязательно)Установка ConnectorsGitLab (необязательно)Установка ConnectorsOCI (необязательно)Установка ConnectorsK8S (необязательно)Установка ConnectorsMaven (необязательно)Установка ConnectorsPyPI (необязательно)Установка ConnectorsNPM (необязательно)Установка ConnectorsHarbor (необязательно)Установка ConnectorsSonarQube (необязательно)Установка ConnectorsNexus (необязательно)Удаление ConnectorsПользовательская настройкаКонфигурация ConnectorsCoreКонфигурация ConnectorsGitКонфигурация ConnectorsOCIДополнительные конфигурацииУстранение неполадокconnectors-csi не готовВведение
Система Connectors имеет модульную архитектуру со следующими компонентами:
- Connectors Operator: центральный компонент управления, который отвечает за развертывание и жизненный цикл других компонентов Connector
- ConnectorsCore: обязательный базовый компонент, который обеспечивает основу для всех типов Connector
- ConnectorsGit: необязательный компонент, который добавляет поддержку универсальных Git-сервисов.
- ConnectorsGitHub: необязательный компонент, который добавляет поддержку функций, специфичных для GitHub.
- 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
- настроенный kubectl cli для взаимодействия с кластером
- права администратора в кластере
- статус Connectors Operator —
Readyв ACP Operator Hub
Требования к Pod Security для установки
Kubernetes применяет Pod Security Standards (PSS) на уровне namespace. Система Connectors состоит из компонентов с разными требованиями к привилегиям:
Примечание: если для namespace настроена недостаточная политика (например, restricted или baseline для компонентов CSI), CSI driver не сможет запуститься из-за заблокированных привилегированных операций. И наоборот, применение privileged там, где это не требуется, расширяет поверхность атаки namespace.
Установка Connectors Operator
Сначала установите Connectors Operator, который управляет жизненным циклом всех остальных компонентов.
-
Создайте namespace для operator:
-
Примените YAML подписки operator:
-
Проверьте, что operator запущен:
Вы должны увидеть запущенный pod connectors-operator:
-
Проверьте, что Custom Resource Definitions (CRDs) созданы:
Вы должны увидеть CRDs, включая:
Установка ConnectorsCore
После запуска operator установите обязательный компонент ConnectorsCore:
-
Создайте namespace для компонентов connector (если он еще не создан):
-
Создайте пользовательский ресурс ConnectorsCore:
-
Отслеживайте ход развертывания:
-
Дождитесь, пока в статусе не будет указано, что ConnectorsCore готов:
-
Проверьте, что основные pod'ы запущены:
Вы должны увидеть основные компоненты, включая:
-
Проверьте, что установлены CRDs, необходимые для работы connector:
Вы должны увидеть:
Установка ConnectorsGit (необязательно)
Чтобы добавить поддержку Git-сервисов, таких как GitHub, GitLab и т. д., установите компонент ConnectorsGit:
-
Создайте пользовательский ресурс ConnectorsGit:
-
Отслеживайте ход развертывания:
-
Дождитесь, пока в статусе не будет указано, что ConnectorsGit готов:
-
Проверьте, что Git plugin запущен:
Вы должны увидеть:
-
Проверьте, что создан Git ConnectorClass:
Вы должны увидеть:
Установка ConnectorsGitHub (необязательно)
Чтобы добавить поддержку интеграции с GitHub, установите компонент ConnectorsGitHub:
-
Создайте пользовательский ресурс ConnectorsGitHub:
-
Отслеживайте ход развертывания:
-
Дождитесь, пока в статусе не будет указано, что ConnectorsGitHub готов:
-
Проверьте, что создан GitHub ConnectorClass:
Установка ConnectorsGitLab (необязательно)
Чтобы добавить поддержку функций, специфичных для GitLab (GitLab CLI, расширенная аутентификация), установите компонент ConnectorsGitLab:
-
Создайте пользовательский ресурс ConnectorsGitLab:
-
Отслеживайте ход развертывания:
-
Дождитесь, пока в статусе не будет указано, что ConnectorsGitLab готов:
-
Проверьте, что создан GitLab ConnectorClass:
Вы должны увидеть:
Установка ConnectorsOCI (необязательно)
Чтобы добавить поддержку реестров контейнеров, таких как Harbor, Distribution и т. д., установите компонент ConnectorsOCI:
-
Создайте пользовательский ресурс ConnectorsOCI:
Публикация через ClusterIP:
Публикация через NodePort:
Публикация через Ingress:
-
Отслеживайте ход развертывания:
-
Дождитесь, пока в статусе не будет указано, что ConnectorsOCI готов:
-
Проверьте, что OCI plugin запущен:
-
Проверьте, что создан OCI ConnectorClass:
Установка ConnectorsK8S (необязательно)
Чтобы добавить поддержку интеграции с кластерами Kubernetes, установите компонент ConnectorsK8S:
-
Создайте пользовательский ресурс ConnectorsK8S:
-
Отслеживайте ход развертывания:
-
Дождитесь, пока в статусе не будет указано, что ConnectorsOCI готов:
-
Проверьте, что Kubernetes ConnectorClass готов:
Установка ConnectorsMaven (необязательно)
Чтобы добавить поддержку интеграции с Maven registries, установите компонент ConnectorsMaven:
-
Создайте пользовательский ресурс ConnectorsMaven:
-
Отслеживайте ход развертывания:
-
Дождитесь, пока в статусе не будет указано, что ConnectorsMaven готов:
-
Проверьте, что Kubernetes ConnectorClass готов:
Установка ConnectorsPyPI (необязательно)
Чтобы добавить поддержку интеграции с PyPI registries, установите компонент ConnectorsPyPI:
-
Создайте пользовательский ресурс ConnectorsPyPI:
-
Отслеживайте ход развертывания:
-
Проверьте, что Kubernetes ConnectorClass готов:
Установка ConnectorsNPM (необязательно)
Чтобы добавить поддержку интеграции с NPM registries, установите компонент ConnectorsNPM:
-
Создайте пользовательский ресурс ConnectorsNPM:
-
Отслеживайте ход развертывания:
-
Проверьте, что NPM ConnectorClass готов:
Установка ConnectorsHarbor (необязательно)
Чтобы добавить поддержку интеграции с Harbor registries, установите компонент ConnectorsHarbor:
-
Создайте пользовательский ресурс ConnectorsHarbor:
-
Отслеживайте ход развертывания:
-
Проверьте, что Harbor ConnectorClass готов:
Установка ConnectorsSonarQube (необязательно)
Чтобы добавить поддержку интеграции с платформами SonarQube и SonarCloud, установите компонент ConnectorsSonarQube:
-
Создайте пользовательский ресурс ConnectorsSonarQube:
-
Отслеживайте ход развертывания:
-
Проверьте, что SonarQube ConnectorClass готов:
Установка ConnectorsNexus (необязательно)
Чтобы добавить поддержку интеграции с Nexus repositories, установите компонент ConnectorsNexus:
-
Создайте пользовательский ресурс ConnectorsNexus:
-
Отслеживайте ход развертывания:
-
Проверьте, что Nexus ConnectorClass готов:
Удаление Connectors
Чтобы удалить систему Connectors, удаляйте компоненты в обратном порядке установки.
-
Сначала удалите необязательные компоненты (если они установлены):
-
Удалите базовый компонент:
-
Удалите operator:
-
Удалите namespace:
Пользовательская настройка
Вы можете настроить развертывание компонентов connector так, чтобы оно лучше соответствовало вашей среде. Все компоненты connector используют схожую структуру конфигурации.
Конфигурация ConnectorsCore
При создании ресурса ConnectorsCore можно указать пользовательскую конфигурацию:
Конфигурация ConnectorsGit
Пользовательская конфигурация для Git plugin:
Конфигурация ConnectorsOCI
Пользовательская конфигурация для OCI plugin:
Дополнительные конфигурации
Для расширенных сценариев развертывания можно также указать:
Устранение неполадок
connectors-csi не готов
Если daemonset/connectors-csi не готов, проверьте события pod'а connectors-csi.
Распространенная ошибка выглядит так:
Это означает, что уровень Pod Security для namespace слишком строгий для CSI driver.
Исправление
- Убедитесь, что для namespace установлен уровень Pod Security
privileged. - Обновите namespace с правильными labels.
- Перезапустите DaemonSet
connectors-csi.
Подробнее см. Требования к Pod Security для установки.