開始管理應用程式
您先請 "將叢集新增至Astra Control管理"、您可以在叢集上安裝應用程式(Astra Control之外)、然後前往Astra Control的「應用程式」頁面、定義應用程式及其資源。
您可以定義和管理應用程式、包括含有執行 Pod 的儲存資源、或是不含任何執行 Pod 的儲存資源應用程式。沒有執行 Pod 的應用程式稱為純資料應用程式。
應用程式管理需求
Astra Control具備下列應用程式管理需求:
-
* 授權 * :若要使用 Astra Control Center 管理應用程式、您需要內嵌 Astra Control Center 評估授權或完整授權。
-
命名空間:應用程式可以使用Astra Control在單一叢集的一個或多個指定命名空間內定義。應用程式可包含橫跨同一個叢集內多個命名空間的資源。Astra Control不支援跨多個叢集定義應用程式的功能。
-
儲存類別:如果您安裝的應用程式已明確設定儲存類別、而且需要複製應用程式、則複製作業的目標叢集必須具有原本指定的儲存類別。將具有明確設定儲存類別的應用程式複製到沒有相同儲存類別的叢集、將會失敗。
-
* Kubernetes資源*:使用未由Astra Control收集之Kubernetes資源的應用程式、可能沒有完整的應用程式資料管理功能。Astra Control會收集下列Kubernetes資源:
ClusterRole
ClusterRoleBinding
ConfigMap
CronJob
CustomResourceDefinition
CustomResource
DaemonSet
DeploymentConfig
HorizontalPodAutoscaler
Ingress
MutatingWebhook
NetworkPolicy
PersistentVolumeClaim
Pod
PodDisruptionBudget
PodTemplate
ReplicaSet
Role
RoleBinding
Route
Secret
Service
ServiceAccount
StatefulSet
ValidatingWebhook
支援的應用程式安裝方法
Astra Control支援下列應用程式安裝方法:
-
資訊清單檔案:Astra Control支援使用KUbectl從資訊清單檔案安裝的應用程式。例如:
kubectl apply -f myapp.yaml
-
* Helm 3*:如果您使用Helm來安裝應用程式、Astra Control需要Helm版本3。完全支援使用Helm 3(或從Helm 2升級至Helm 3)來管理及複製安裝的應用程式。不支援管理以Helm 2安裝的應用程式。
-
* 由操作員部署的應用程式 * : Astra Control 支援以命名空間範圍運算子安裝的應用程式、這些應用程式通常是以「依值傳遞」而非「依參照傳遞」架構設計。營運者及其安裝的應用程式必須使用相同的命名空間;您可能需要修改部署 YAML 檔案、讓營運者確保這種情況發生。
以下是一些遵循這些模式的營運者應用程式:
-
K8ssandra 支援原位還原作業。若要還原新命名空間或叢集的作業、必須先關閉應用程式的原始執行個體。這是為了確保傳遞的對等群組資訊不會導致跨執行個體通訊。不支援複製應用程式。
Astra Control可能無法複製以「傳遞參考」架構設計的操作員(例如CockroachDB操作員)。在這些類型的複製作業中、複製的操作員會嘗試從來源操作員參考Kubernetes機密、儘管在複製程序中有自己的新秘密。由於Astra Control不知道來源營運者的Kubernetes機密資料、因此複製作業可能會失敗。
-
在叢集上安裝應用程式
您先請 "新增叢集" 若要使用Astra Control、您可以在叢集上安裝應用程式或管理現有的應用程式。範圍為一或多個命名空間的任何應用程式都可以管理。
定義應用程式
Astra Control在叢集上探索命名空間之後、您可以定義要管理的應用程式。您可以選擇 管理橫跨一或多個命名空間的應用程式 或 將整個命名空間當作單一應用程式來管理。所有這些都達到資料保護作業所需的精細度。
雖然Astra Control可讓您分別管理階層的兩個層級(命名空間和該命名空間或擴充命名空間中的應用程式)、但最佳實務做法是選擇其中一個。如果在命名空間和應用程式層級同時執行動作、則Astra Control中所採取的動作可能會失敗。
|
舉例來說、您可能想要為每週有節奏的「Maria」設定備份原則、但您可能需要比這更頻繁地備份「MariaDB」(位於同一個命名空間中)。根據這些需求、您需要分別管理應用程式、而非單一命名空間應用程式。 |
-
將Kubernetes叢集新增至Astra Control。
-
叢集上已安裝一或多個應用程式。 深入瞭解支援的應用程式安裝方法。
-
您新增至Astra Control的Kubernetes叢集上現有的命名空間。
-
(選用)任何產品上都有Kubernetes標籤 "支援的Kubernetes資源"。
標籤是可指派給Kubernetes物件以供識別的金鑰/值配對。標籤可讓您更輕鬆地排序、組織及尋找Kubernetes物件。若要深入瞭解Kubernetes標籤、 "請參閱Kubernetes官方文件"。
-
在開始之前、您也應該瞭解 "管理標準和系統命名空間"。
-
如果您打算在Astra Control中使用多個命名空間搭配應用程式、 "修改具有命名空間限制的使用者角色" 升級至Astra Control Center版本之後、即可支援多個命名空間。
-
如需如何使用Astra Control API管理應用程式的指示、請參閱 "Astra Automation和API資訊"。
定義要以應用程式形式管理的資源
您可以指定 "Kubernetes是組成應用程式的資源" 您想要使用Astra Control進行管理。定義應用程式可讓您將Kubernetes叢集的元素群組成單一應用程式。此Kubernetes資源集合是根據命名空間和標籤選取器準則來組織。
定義應用程式可讓您更精細地控制要納入Astra Control作業的內容、包括複製、快照和備份。
|
在定義應用程式時、請確保不將Kubernetes資源納入具有保護原則的多個應用程式中。Kubernetes資源上的保護原則重疊、可能會造成資料衝突。 請參閱範例以瞭解更多資訊。 |
展開以深入瞭解如何將叢集範圍的資源新增至應用程式命名空間。
除了自動包含的Astra Control之外、您也可以匯入與命名空間資源相關聯的叢集資源。您可以新增規則、其中包含特定群組的資源、種類、版本及選擇性的標籤。如果Astra Control沒有自動包含資源、您可能會想要這麼做。
您無法排除由Astra Control自動包含的任何叢集範圍資源。
您可以新增下列項目 apiVersions
(與API版本結合的群組):
資源種類 | 每個版本(群組+版本) |
---|---|
|
rbac.authorization.k8s.io/v1 |
|
rbac.authorization.k8s.io/v1 |
|
apiextensions.k8s.io/v1、apiextensions.k8s.io/v1bet1 |
|
apiextensions.k8s.io/v1、apiextensions.k8s.io/v1bet1 |
|
可受理的registration.k8s.io/v1 |
|
可受理的registration.k8s.io/v1 |
-
從「應用程式」頁面選取*定義*。
-
在*定義應用程式*視窗中、輸入應用程式名稱。
-
在*叢集*下拉式清單中選擇應用程式執行所在的叢集。
-
從「命名空間」下拉式清單中選擇應用程式的命名空間。
應用程式可以使用Astra Control在單一叢集上的一個或多個指定命名空間內定義。應用程式可包含橫跨同一個叢集內多個命名空間的資源。Astra Control不支援跨多個叢集定義應用程式的功能。 -
(選用)在每個命名空間中輸入Kubernetes資源的標籤。您可以指定單一標籤或標籤選取器準則(查詢)。
若要深入瞭解Kubernetes標籤、 "請參閱Kubernetes官方文件"。 -
(選用)選取*新增命名空間*並從下拉式清單中選擇命名空間、即可新增應用程式的其他命名空間。
-
(選用)針對您新增的任何其他命名空間、輸入單一標籤或標籤選取器條件。
-
(可選)要包括除Astra Control自動包含的資源之外的叢集範圍資源、請勾選*包含其他叢集範圍資源*、然後完成下列步驟:
-
選取*新增包含規則*。
-
群組:從下拉式清單中、選取API資源群組。
-
種類:從下拉式清單中、選取物件架構的名稱。
-
版本:輸入API版本。
-
標籤選取器:選擇性地加入要新增至規則的標籤。此標籤僅用於擷取符合此標籤的資源。如果您未提供標籤、Astra Control會收集為該叢集指定之資源種類的所有執行個體。
-
根據您的輸入項目來檢閱建立的規則。
-
選取*「Add*」。
您可以根據需要建立任意數量的叢集範圍資源規則。這些規則會出現在「定義應用程式摘要」中。
-
-
選擇*定義*。
-
選取*定義*之後、視需要為其他應用程式重複此程序。
定義完應用程式之後、應用程式會出現在中 Healthy
請在應用程式頁面的應用程式清單中說明。您現在可以複製並建立備份與快照。
|
您剛新增的應用程式可能會在「受保護的」欄下顯示警告圖示、表示尚未備份且尚未排程備份。 |
|
若要查看特定應用程式的詳細資料、請選取應用程式名稱。 |
若要查看新增至此應用程式的資源、請選取*資源*索引標籤。在「資源」欄中選取資源名稱後的數字、或在「搜尋」中輸入資源名稱、以查看所包含的其他叢集範圍資源。
定義要以應用程式形式管理的命名空間
您可以將命名空間中的所有Kubernetes資源新增至Astra Control管理、方法是將該命名空間的資源定義為應用程式。如果您打算以類似的方式、以相同的時間間隔來管理及保護特定命名空間中的所有資源、則此方法較適合個別定義應用程式。
-
從「叢集」頁面中選取叢集。
-
選取「命名空間」索引標籤。
-
選取包含您要管理之應用程式資源的命名空間「動作」功能表、然後選取*「定義為應用程式*」。
如果要定義多個應用程式、請從命名空間清單中選取、然後選取左上角的*「Actions」(動作)按鈕、然後選取「define as application*」(定義為應用程式*)。這會在個別命名空間中定義多個個別應用程式。如需多命名空間應用程式、請參閱 定義要以應用程式形式管理的資源。 選取「顯示系統命名空間」核取方塊、顯示預設不會用於應用程式管理的系統命名空間。 "瞭解更多資訊"。
程序完成後、與命名空間相關聯的應用程式會出現在中 Associated applications
欄位。
系統命名空間如何?
Astra Control也會探索Kubernetes叢集上的系統命名空間。我們預設不會顯示這些系統命名空間、因為您很少需要備份系統應用程式資源。
您可以選取「顯示系統命名空間」核取方塊、從「命名空間」索引標籤顯示所選叢集的系統命名空間。
|
Astra Control Center 預設不會顯示為您可以管理的應用程式、但您可以使用其他 Astra Control Center 執行個體來備份和還原 Astra Control Center 執行個體。 |
範例:不同版本的個別保護原則
在此範例中、DevOps團隊正在管理「一元化」版本部署。該團隊的叢集有三個執行Ngin像 的Pod。其中兩個Pod專用於穩定版本。第三個pod是用於金箱版本。
DevOps團隊的Kubernetes管理員新增標籤 deployment=stable
穩定的釋放Pod。團隊會新增標籤 deployment=canary
至準則發行Pod。
該團隊的穩定版本包括每小時快照和每日備份的需求。該準備金版本更為短暫、因此他們想要針對任何標示的項目、建立更具競爭力的短期保護原則 deployment=canary
。
為了避免可能的資料衝突、管理員將建立兩個應用程式:一個用於「資料」版本、另一個用於「穩定」版本。如此可將兩個Kubernetes物件群組的備份、快照和複製作業分開進行。