Для графического изображения архитектуры системы и объяснения декомпозиции системы на элементы используется Модель С4. Диаграммы в этой модели организуются по принципу увеличения масштаба и детализации элементов:

  • Уровень 1: диаграмма контекста. Отражает положение системы во внешнем контексте: возможные пользовательские роли и другие системы, непосредственно участвующие в работе.

  • Уровень 2: диаграмма контейнеров. Разбивает систему на контейнеры (основные подсистемы) и отражает основные пути взаимодействия между ними. Контейнер в модели C4 (не путать с Docker-контейнерами) — это исполняемая и развертываемая подсистема, например, исполняемый файл.

  • Уровень 3: диаграмма компонентов. Разбивает каждый контейнер на компоненты и отражает взаимодействие компонентов между собой (внутри одного контейнера) и с другими контейнерами. Компонент в модели C4 — это программный модуль (подсистема) в коде контейнера (исполняемого файла). Этот уровень описан в архитектурных диаграммах каждого сервиса.

  • Уровень 4: диаграмма кода. Описывает элементы кода, с помощью которых реализуются компоненты.

Из-за большого количества элементов на уровне 2 полная диаграмма контейнеров здесь не приводится. Вместо этого после диаграммы уровня 1 представлены следующие промежуточные диаграммы:

Диаграммы уровня 2 и выше приведены в разделах, описывающих архитектуру отдельных модулей.

Чтобы получить общее представление об архитектуре Deckhouse Kubernetes Platform (DKP), достаточно изучить диаграмму уровня 1, а также диаграммы подсистем и модулей. Для детального изучения устройства каждого сервиса обратитесь к диаграммам уровня 2 и выше, представленным в соответствующих разделах.

Условные обозначения

Для элементов диаграмм используется следующие графические символы:

Условные обозначения на диаграммах DKP

Диаграмма контекста

Диаграмма контекста DKP

С DKP взаимодействуют:

  • Администратор — устанавливает и настраивает платформу.
  • Инженер безопасности — управляет информационной безопасностью.
  • Разработчик — использует платформу для установки и тестирования разрабатываемых приложений.
  • Пользователь — использует запущенные на платформе приложения.

Взаимодействие с внешними сервисами описано в диаграммах следующих уровней.

Диаграмма подсистем

На данной диаграмме изображены подсистемы DKP.

Связи между подсистемами показаны в обобщённом виде и без детализации.

Диаграмма подсистем DKP

Диаграмма модулей

На данной диаграмме изображены все модули в составе набора модулей Default, а также наиболее важные дополнительные модули. Модули сгруппированы по подсистемам.

Связи между модулями показаны в обобщённом виде и без детализации.

Диаграмма модулей DKP