Построение архитектуры приложения
Содержание
Введение в построение приложенияОсновные компонентыArchonMetisCaptain controller managerIcarusВведение в построение приложения
Alauda Container Platform — это платформа для разработки и запуска контейнеризованных приложений. Она разработана для того, чтобы приложения и поддерживающие их дата-центры могли масштабироваться от нескольких машин и приложений до тысяч машин, обслуживающих миллионы клиентов.
Построенная на Kubernetes, Alauda Container Platform использует ту же надежную технологию, которая лежит в основе крупных телекоммуникационных систем, потокового видео, игр, банковских и других критически важных приложений. Эта база позволяет расширять ваши контейнеризованные приложения в гибридных средах — от локальной инфраструктуры до мультиоблачных развертываний.
Основные компоненты
Archon
Обеспечивает расширенные API для операций управления приложениями и ресурсами. В качестве компонента управляющей плоскости Archon работает исключительно в global кластере, выступая в роли центрального интерфейса управления операциями на уровне всего кластера. Его API-слой позволяет декларативно настраивать приложения, пространства имён и инфраструктурные ресурсы по всей платформе.
Metis
Функционирует как универсальный контроллер внутри business clusters, обеспечивая критически важные операции на уровне кластера:
- Управление webhook: Реализует admission webhook для валидации ресурсов, включая применение правил
resources ratioи политикиresource labelingи др. - Синхронизация статусов: Поддерживает согласованность между распределёнными компонентами через:
- согласование статуса применения
Helm chart - синхронизацию
Project quota - обновление статусов
Application(запись в поля application.status)
- согласование статуса применения
Captain controller manager
Выступает в роли контроллера управления жизненным циклом приложений Helm chart, работающего исключительно в global cluster. Его обязанности включают:
- Установку chart: Оркестрация развертывания
Helm chartпо кластерам - Управление версиями: Обеспечение бесшовных обновлений и откатов релизов
Helm chart - Удаление: Полное удаление приложения
Helm chartи связанных ресурсов - Отслеживание релизов: Поддержание состояния и истории всех развернутых релизов
Helm chart
Icarus
Обеспечивает централизованный веб-интерфейс управления для Container Platform. В качестве компонента презентационного слоя Icarus:
- Предоставляет комплексные визуализации дашбордов для мониторинга состояния кластера
- Позволяет выполнять развертывание и управление приложениями через GUI
- Реализует многоарендную модель управления на основе Kubernetes RBAC:
- Разграничивает аккаунты арендаторов через изоляцию пространств имён
- Управляет правами доступа к ресурсам для каждого арендатора
- Обеспечивает изоляцию представлений для каждого арендатора
- Работает исключительно в
global cluster, выступая в качестве единой точки управления мультикластерными операциями