Быстрый старт

Этот документ поможет вам быстро понять и использовать систему Connectors.

Содержание

Введение

Применимые сценарии

Система Connectors предоставляет единый способ безопасного управления подключениями к внешним системам по всему вашему Kubernetes-кластеру. Используя коннекторы, вы можете:

  • Централизованно управлять учетными данными для внешних сервисов
  • Исключить жестко закодированные учетные данные в коде приложений
  • Обеспечить единообразные шаблоны доступа по всей организации
  • Отслеживать и аудитировать подключения сервисов в одном месте

В этом руководстве в качестве примера используется GitHub, но те же принципы применимы к подключению к другим сервисам.

Оценочное время чтения

10-15 минут

Примечания

  • В этом быстром старте предполагается, что у вас уже установлены компоненты Connectors Operator, ConnectorsCore и ConnectorsGit в вашем кластере. Подробные инструкции по установке смотрите в Installation Guide.
  • Вам нужна учетная запись GitHub и Personal Access Token (PAT) с соответствующими правами.
  • Статус коннектора отражает состояние и доступность подключения.

Предварительные требования

  • Kubernetes-кластер с установленными следующими компонентами:
    • Connectors Operator
    • ConnectorsCore
    • ConnectorsGit
  • kubectl, настроенный для работы с вашим кластером
  • Учетная запись GitHub и действительный Personal Access Token (PAT)
  • Базовые знания ресурсов Kubernetes

Обзор процесса

Шаг операцииОписание
1Проверка необходимых компонентовУбедиться, что инфраструктура коннекторов установлена корректно
2Создание секрета аутентификацииСоздать Kubernetes Secret с учетными данными GitHub
3Создание GitHub-коннектораНастроить коннектор для GitHub
4Проверка статуса коннектораПроверить, готов ли коннектор к использованию

Шаги для работы

Шаг 1: Проверка необходимых компонентов

Перед созданием GitHub-коннектора убедитесь, что инфраструктура коннекторов корректно установлена в вашем кластере.

  1. Проверьте, что установлены Connectors Operator, ConnectorsCore и ConnectorsGit:

    kubectl get connectorscore -A
    kubectl get connectorsgit -A

    Вы должны увидеть оба ресурса со статусом "Ready".

  2. Убедитесь, что существует Git ConnectorClass:

    kubectl get connectorclass git

    Если Git ConnectorClass не найден, сначала установите ConnectorsGit. Инструкции смотрите в Installation Guide.

Шаг 2: Создание секрета аутентификации

Создайте Kubernetes Secret, содержащий учетные данные для GitHub.

  1. Выполните следующую команду для создания секрета с вашими учетными данными GitHub:

    kubectl create secret generic github-auth \
      --namespace default \
      --type=kubernetes.io/basic-auth \
      --from-literal=username=your-github-username \
      --from-literal=password=your-github-token

    Замените your-github-username на ваше имя пользователя GitHub, а your-github-token — на ваш Personal Access Token GitHub.

  2. Проверьте, что секрет успешно создан:

    kubectl get secret github-auth -n default

Шаг 3: Создание GitHub-коннектора

Создайте коннектор для GitHub, используя Git ConnectorClass.

  1. Сохраните следующий YAML в файл github-connector.yaml:

    apiVersion: connectors.alauda.io/v1alpha1
    kind: Connector
    metadata:
      name: github-connector
      namespace: default
    spec:
      connectorClassName: git
      address: "https://github.com"
      auth:
        name: basicAuth
        secretRef:
          name: github-auth
          namespace: default
  2. Примените коннектор:

    kubectl apply -f github-connector.yaml

Шаг 4: Проверка статуса коннектора

После создания коннектора проверьте его статус, чтобы убедиться, что он работает корректно.

  1. Используйте следующую команду для проверки статуса коннектора:

    kubectl get connector github-connector -n default
  2. Для просмотра подробной информации о статусе используйте:

    kubectl get connector github-connector -n default -o yaml

Ожидаемые результаты

После успешного выполнения всех шагов вы увидите следующие результаты:

  1. Статус ресурса GitHub-коннектора отображается как "Ready":

    NAME               CLASS   ADDRESS              READY   AGE
    github-connector   git     https://github.com   True    2m
  2. Все условия в подробной информации о статусе имеют значение "True":

    status:
      conditions:
      - type: ConnectorClassReady
        status: "True"
      - type: SecretReady
        status: "True"
      - type: LivenessReady
        status: "True"
      - type: AuthReady
        status: "True"
      - type: ProxyServiceReady
        status: "True"
      - type: Ready
        status: "True"
  3. Если у коннектора настроена прокси-функциональность, в статусе также будет указан адрес прокси:

    status:
      proxy:
        httpAddress:
          url: http://c-github-connector.default.svc.cluster.local

Теперь вы успешно создали GitHub-коннектор и убедились, что он работает.

Ваши приложения могут использовать этот коннектор для безопасного доступа к репозиториям GitHub без необходимости встраивать учетные данные непосредственно в код приложений.

Устранение неполадок

Если ваш коннектор не достигает статуса "Ready", проверьте следующее:

  1. Наличие ConnectorClass: Убедитесь, что существует Git ConnectorClass:

    kubectl get connectorclass git

    Если его нет, установите ConnectorsGit. Смотрите Installation Guide.

  2. Настройка аутентификации: Убедитесь, что учетные данные в секрете корректны и имеют необходимые права.

  3. Доступность репозитория: Проверьте, что указанный в параметрах аутентификации репозиторий существует и доступен с предоставленными учетными данными.

  4. Проверьте логи контроллера: Просмотрите логи контроллера коннекторов для получения подробной информации об ошибках:

    kubectl logs -n connectors-system -l app.kubernetes.io/name=connectors-controller-manager

Следующие шаги

Теперь, когда вы создали первый коннектор, вы можете:

  • Создавать коннекторы для других Git-сервисов (GitLab, Harbor и др.)
  • Настраивать приложения для использования коннектора для безопасного доступа к Git-репозиториям