Построение архитектуры приложения

Содержание

Введение в построение приложения

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, выступая в качестве единой точки управления мультикластерными операциями