您可以通過ACK控制台的應用中心功能部署應用。本文介紹應用中心的作用、核心概念、核心組件等。
應用中心已不再進行功能更新並逐步停止維護,您可以通過onectl自動化遷移,將應用中心的應用快速遷移至ACK One GitOps。具體操作,請參見使用onectl自動化遷移應用至ACK One GitOps。
背景資訊
使用編排模板中的工具部署應用完畢後,應用資源比較分散,您無法從一個統一的視角查看應用所有的Kubernetes資源。在Kubernetes平台中,一個應用可能包含多個Kubernetes子資源。例如一個WordPress應用,會包含Deployment、Service、Ingress、ServiceAccount、Roles等資源。在應用部署完畢後,沒有一個統一的視角展現整體應用的拓撲結構,同時對於持續部署等情境無法做到統一的版本管理與復原。
應用中心能夠給應用一個統一的入口視圖,協助您全域地瞭解應用的部署形態。應用中心能夠協助您提供一個應用程式層級的視角,您能夠在應用層級觀察所有Kubernetes子資源的部署狀態與變化,同時以Git、Helm Chart作為載體,將應用以版本化的方式部署到Kubernetes叢集中,且可以在不同版本之間實現復原與發布。
使用情境
ACK應用中心的使用情境如下:
多叢集低成本容災,日常迭代版本一鍵同發。
中國內地多地區部署業務,版本同發。
同套應用,線上線下混合雲發布。
應用維度查看和管理工作負載。
同一套編排模板,多環境發布,可以大幅降低出錯率。
核心概念
概念 | 描述 |
應用 | 應用編排模板定義的一組Kubernetes資源集合。 |
目標狀態 | 應用程式的期望狀態由Git或者Chart等存放庫中的檔案表示。 |
目前狀態 | 該應用程式的即時狀態,例如部署的所有Pod狀態等。 |
部署狀態 | 即時狀態是否與目標狀態匹配。部署的應用程式是否與Git或者Helm Chart所定義的相同。 |
部署 | 使應用程式移至其目標狀態的過程。例如,通過kubectl apply將應用部署到Kubernetes叢集。 |
重新整理 | 將Git中的最新代碼與即時狀態進行比較。 |
健康狀態 | 應用程式的健全狀態是否正常。 |
核心組件
應用中心的所有組件都是部署在客戶叢集appcenter命名空間內,主要有四個核心部分,如下表所示。
組件名稱 | 描述 |
application-controller | 負責應用的版本記錄、回溯,指定版本復原等功能。 |
redis | 負責緩衝應用資料資源,記錄一些使用者應用快取資料資訊。 |
repo-server | 負責拉取遠程倉庫應用部署模板資訊,例如Git或者Helm Chart。 |
server | 暴露一個GRPC Server,負責與外部通訊。 |