1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openeuler-eggo

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
general_design.md 6.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 15.03.2025 04:09 01724b9

Проектный дизайн Eggo

Общая архитектура

Компоненты:

  • GitOps: отвечает за управление конфигурационной информацией кластера, такими как обновление, создание, удаление;
  • Eggops: пользовательский CRD и контроллер для абстракции K8S кластера и управления жизненным циклом кластера через Eggo;
  • InitCluster: метакластер, K8S кластер, где запущен Eggops, используется в качестве центрального кластера для управления другими бизнес-кластерами;
  • Master: управляющий узел K8S, который обеспечивает контрольную панель кластера;
  • Worker: рабочий узел K8S, который обеспечивает выполнение пользовательских бизнес-приложений;
  • Кластеры A, B, C: бизнес-кластеры, которые обеспечивают выполнение пользовательских бизнес-приложений;

Общий проект

eggo_general_design_overall1

Eggo поддерживает три способа развертывания:

  • Режим командной строки: применим для развертывания небольших кластеров K8S на физических машинах для тестирования и разработки;
  • Режим GitOps: применим для управления конфигурацией кластера с помощью GitOps, особенно при управлении большим количеством кластеров K8S;
  • Режим API кластера: применим для интеграции с открытым API кластера.

Развертывание компонентов

Развертывающие компоненты отвечают за фактическое развертывание кластера, что включает следующие части:- Инфраструктура: отвечает за подготовку узлов кластера (физических машин, виртуальных машин и т.д.), установку системы, обеспечение сетевого соединения между узлами, установку дисков, установку зависимых компонентов и т.д.;

  • Независимый ETCD кластер: ETCD кластер разворачивается независимо, чтобы гарантировать безопасность данных;
  • Первый управляющий узел кластера: разворачивание первого управляющего узла, которое должно включать генерацию сертификатов, создание kubeconfig и развертывание служб компонентов;
  • Bootstrap: отвечает за развертывание рабочих узлов или других управляющих узлов в кластере K8S, копирование сертификатов, развертывание служб компонентов;
  • Обновление/Очистка: обновление или очистка компонентов кластера;

Подробный дизайн

Развертывающие компоненты

Схема взаимодействия компонентов Eggo

подробный_дизайн_1

Процесс инфраструктуры

подробный_дизайн_2

Процесс кластера ETCD

подробный_дизайн_3

Процесс управляющего узла

подробный_дизайн_4

Процесс bootstrap

подробный_дизайн_5

Процесс очистки

подробный_дизайн_6

Механизм управления задачами узловЦель состоит в том, чтобы унифицировать управление задачами на узле, предоставляя единую командную строку и возможность копирования файлов для развертывания кластера на узле. Модульный тайм-лайн следующий:timeline-node-task

Отношения между классами и интерфейсами представлены следующим образом:

отношения-node-task

Дизайн управления сертификатами

Создание кластера и добавление новых узлов зависят от сертификатов; поэтому Eggo должен создавать, хранить и распространять сертификаты CA, а также помогать узлам создавать другие необходимые сертификаты. Управление сертификатами включает два сценария:

  • Управление кластером через командную строку: требуется создание и локальное хранение сертификата CA и файла admin.kubeconfig, а также его распространение при развертывании мастер-узлов и рабочих узлов в кластере;
  • Управление кластером другим кластером: требуется создание и хранение сертификатов CA и файла admin.kubeconfig в ETCD метакластера соответственно для каждого кластера, а также их распространение при развертывании мастер-узлов и рабочих узлов в кластере;

Диаграмма процесса управления сертификатами представлена ниже:

диаграмма управления сертификатами

Тайм-лайн отношений представлен ниже:

детализированная диаграмма управления сертификатами

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/openeuler-eggo.git
git@api.gitlife.ru:oschina-mirror/openeuler-eggo.git
oschina-mirror
openeuler-eggo
openeuler-eggo
master