В данном разделе документации описана архитектура Deckhouse Kubernetes Platform (DKP).
Раздел состоит из следующих подразделов:
- Модель C4 — обзор модели С4, используемой для визуализации архитектуры платформы, а также описание архитектуры DKP на уровнях 1 и 2 модели C4.
- Модули — описание архитектуры модулей DKP.
- Катастрофоустойчивость — описание реализованных в DKP подходов к обеспечению катастрофоустойчивости.
- Обновление — описание механизмов обновления DKP.
- Описание архитектуры компонентов платформы, сгруппированных по следующим подсистемам:
В разделе представлена информация не по всем подсистемам и модулям DKP. Материалы по остальным компонентам будут добавляться по мере готовности.
Архитектура DKP
DKP — это платформа для управления кластерами Kubernetes в любых инфраструктурах — от изолированных серверных сред до публичных облаков. Платформа включает в себя:
- кластер Kubernetes;
- контроллер Deckhouse и управляемые им модули;
- Bashible — агент, работающий на узлах кластера в виде службы, который запускает bash-скрипты для управления узлами.
Модули объединены в подсистемы в соответствии с их функциональным назначением. Контроллер Deckhouse тоже реализован в виде модуля и является единственным модулем, без которого не может функционировать платформа.
Архитектура DKP в масштабе подсистем и модулей описана в подразделе Модель C4.
Модули
Модуль — это набор ресурсов и приложений, предназначенных для расширения функциональности DKP.
Ключевые модули:
deckhouse— контроллер Deckhouse;control-plane-manager— управляет компонентами control plane кластера;node-manager— управляет узлами кластера.
При установке DKP в существующий Managed Kubernetes-кластер модули control-plane-manager и node-manager не устанавливаются.
Содержимое модулей:
- Helm-чарты;
- хуки addon-operator;
- правила сборки компонентов модуля (компонентов Deckhouse);
- другие файлы.
При работе с модулями, DKP использует проект addon-operator. Ознакомьтесь с его документацией, чтобы узнать, как DKP работает с модулями, хуками модулей и параметрами модулей.
Об архитектуре модуля и разработке собственных модулей читайте в разделе Модули.