构建应用架构

构建应用简介

Alauda Container Platform 是一个用于开发和运行容器化应用的平台。它旨在支持应用及其依赖的数据中心从仅包含少量机器和应用,扩展到包含数千台机器并为数百万客户端提供服务的规模。

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

核心组件

Archon

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

Metis

在 workload clusters 中充当多用途控制器,提供关键的集群级操作:

  • Webhook 管理:用于资源验证的准入 Webhook,包括资源比例和资源标签策略的强制执行。
  • 状态同步:通过以下机制维护分布式组件之间的一致性:
    • Helm chart application 状态协调
    • Project quota 同步
    • Application 状态更新(写入 Application.status)

Captain 控制器管理器

充当 Helm chart 应用生命周期管理控制器,仅在 global cluster 上运行。其职责包括:

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

Icarus

为 Container Platform 提供集中式 Web 管理界面。作为表示层组件,Icarus:

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