应用中心概述

您可以通过ACK控制台的应用中心功能部署应用。本文介绍应用中心的作用、核心概念、核心组件等。

重要

应用中心已不再进行功能升级并逐步停止维护,您可以通过onectl自动化迁移,将应用中心的应用快速迁移至ACK One GitOps。具体操作,请参见使用onectl自动化迁移应用至ACK One GitOps

背景信息

使用编排模板中的工具部署应用完毕后,应用资源比较分散,您无法从一个统一的视角查看应用所有的Kubernetes资源。在Kubernetes平台中,一个应用可能包含多个Kubernetes子资源。例如一个WordPress应用,会包含Deployment、Service、Ingress、ServiceAccount、Roles等资源。在应用部署完毕后,没有一个统一的视角展现整体应用的拓扑结构,同时对于持续部署等场景无法做到统一的版本管理与回滚。

应用中心能够给应用一个统一的入口视图,帮助您全局地了解应用的部署形态。应用中心能够帮助您提供一个应用层级的视角,您能够在应用级别观察所有Kubernetes子资源的部署状态与变化,同时以Git、Helm Chart作为载体,将应用以版本化的方式部署到Kubernetes集群中,且可以在不同版本之间实现回滚与发布。

使用场景

image

ACK应用中心的使用场景如下:

  • 多集群低成本容灾,日常迭代版本一键同发。

  • 中国内地多地域部署业务,版本同发。

  • 同套应用,线上线下混合云发布。

  • 应用维度查看和管理工作负载。

  • 同一套编排模板,多环境发布,可以大幅降低出错率。

核心概念

概念

描述

应用

应用编排模板定义的一组Kubernetes资源集合。

目标状态

应用程序的期望状态由Git或者Chart等存储库中的文件表示。

当前状态

该应用程序的实时状态,例如部署的所有Pod状态等。

部署状态

实时状态是否与目标状态匹配。部署的应用程序是否与Git或者Helm Chart所定义的相同。

部署

使应用程序移至其目标状态的过程。例如,通过kubectl apply将应用部署到Kubernetes集群。

刷新

将Git中的最新代码与实时状态进行比较。

健康状态

应用程序的运行状况是否正常。

核心组件

应用中心的所有组件都是部署在客户集群appcenter命名空间内,主要有四个核心部分,如下表所示。

组件名称

描述

application-controller

负责应用的版本记录、回溯,指定版本回滚等功能。

redis

负责缓存应用数据资源,记录一些用户应用缓存数据信息。

repo-server

负责拉取远程仓库应用部署模板信息,例如Git或者Helm Chart。

server

暴露一个GRPC Server,负责与外部通信。