應(yīng)用中心概述
您可以通過ACK控制臺的應(yīng)用中心功能部署應(yīng)用。本文介紹應(yīng)用中心的作用、核心概念、核心組件等。
應(yīng)用中心已不再進行功能升級并逐步停止維護,您可以通過onectl自動化遷移,將應(yīng)用中心的應(yīng)用快速遷移至ACK One GitOps。具體操作,請參見使用onectl自動化遷移應(yīng)用至ACK One GitOps。
背景信息
使用編排模板中的工具部署應(yīng)用完畢后,應(yīng)用資源比較分散,您無法從一個統(tǒng)一的視角查看應(yīng)用所有的Kubernetes資源。在Kubernetes平臺中,一個應(yīng)用可能包含多個Kubernetes子資源。例如一個WordPress應(yīng)用,會包含Deployment、Service、Ingress、ServiceAccount、Roles等資源。在應(yīng)用部署完畢后,沒有一個統(tǒng)一的視角展現(xiàn)整體應(yīng)用的拓撲結(jié)構(gòu),同時對于持續(xù)部署等場景無法做到統(tǒng)一的版本管理與回滾。
應(yīng)用中心能夠給應(yīng)用一個統(tǒng)一的入口視圖,幫助您全局地了解應(yīng)用的部署形態(tài)。應(yīng)用中心能夠幫助您提供一個應(yīng)用層級的視角,您能夠在應(yīng)用級別觀察所有Kubernetes子資源的部署狀態(tài)與變化,同時以Git、Helm Chart作為載體,將應(yīng)用以版本化的方式部署到Kubernetes集群中,且可以在不同版本之間實現(xiàn)回滾與發(fā)布。
使用場景
ACK應(yīng)用中心的使用場景如下:
多集群低成本容災(zāi),日常迭代版本一鍵同發(fā)。
中國內(nèi)地多地域部署業(yè)務(wù),版本同發(fā)。
同套應(yīng)用,線上線下混合云發(fā)布。
應(yīng)用維度查看和管理工作負載。
同一套編排模板,多環(huán)境發(fā)布,可以大幅降低出錯率。
核心概念
概念 | 描述 |
應(yīng)用 | 應(yīng)用編排模板定義的一組Kubernetes資源集合。 |
目標狀態(tài) | 應(yīng)用程序的期望狀態(tài)由Git或者Chart等存儲庫中的文件表示。 |
當前狀態(tài) | 該應(yīng)用程序的實時狀態(tài),例如部署的所有Pod狀態(tài)等。 |
部署狀態(tài) | 實時狀態(tài)是否與目標狀態(tài)匹配。部署的應(yīng)用程序是否與Git或者Helm Chart所定義的相同。 |
部署 | 使應(yīng)用程序移至其目標狀態(tài)的過程。例如,通過kubectl apply將應(yīng)用部署到Kubernetes集群。 |
刷新 | 將Git中的最新代碼與實時狀態(tài)進行比較。 |
健康狀態(tài) | 應(yīng)用程序的運行狀況是否正常。 |
核心組件
應(yīng)用中心的所有組件都是部署在客戶集群appcenter命名空間內(nèi),主要有四個核心部分,如下表所示。
組件名稱 | 描述 |
application-controller | 負責應(yīng)用的版本記錄、回溯,指定版本回滾等功能。 |
redis | 負責緩存應(yīng)用數(shù)據(jù)資源,記錄一些用戶應(yīng)用緩存數(shù)據(jù)信息。 |
repo-server | 負責拉取遠程倉庫應(yīng)用部署模板信息,例如Git或者Helm Chart。 |
server | 暴露一個GRPC Server,負責與外部通信。 |