Build application architecture

目录

Introduction to build application

Alauda Container Platform 是一个用于开发和运行容器化应用的平台。它旨在使应用程序及其支持的数据中心能够从少量机器和应用扩展到数千台机器,服务数百万客户。

基于 Kubernetes 构建,Alauda Container Platform 利用同样强大的技术,支撑着大规模的电信、流媒体视频、游戏、银行及其他关键应用。这一基础使您能够将容器化应用扩展到混合环境中——从本地基础设施到多云部署。

Core components

Archon

提供用于应用和资源管理操作的高级 API。作为控制平面组件,Archon 仅运行在 global 集群上,作为集群范围操作的中央管理接口。其 API 层支持对整个平台中的应用、命名空间和基础设施资源进行声明式配置。

Metis

作为 business clusters 中的多功能控制器,提供关键的集群级操作:

  • Webhook 管理:实现资源校验的准入 webhook,包括 resources ratio 强制执行和 resource labeling 策略等。
  • 状态同步:通过以下方式维护分布式组件的一致性:
    • Helm chart application 状态调和
    • Project quota 同步
    • Application 状态更新(写入 application.status 字段)

Captain controller manager

作为专门在 global cluster 上运行的 Helm chart 应用生命周期管理控制器,其职责包括:

  • Chart 安装:协调跨集群部署 Helm chart
  • 版本管理:处理 Helm chart 发布的无缝升级和回滚
  • 卸载:彻底移除 Helm chart 应用及相关资源
  • 发布跟踪:维护所有已部署 Helm chart 发布的状态和历史

Icarus

提供 Container Platform 的集中式基于 Web 的管理界面。作为展示层组件,Icarus

  • 提供全面的监控面板视图,用于集群健康监控
  • 支持基于 GUI 的应用部署和管理工作流
  • 实现基于 Kubernetes RBAC 的多租户管理
    • 通过命名空间隔离区分租户账户
    • 管理每个租户的资源访问权限
    • 提供租户特定的视图隔离
  • 仅运行在 global cluster 上,作为多集群操作的统一控制点