Skip to main content
此產品有較新版本可以使用。
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

開始管理應用程式

貢獻者

您先請 "將叢集新增至Astra Control管理"、您可以在叢集上安裝應用程式(Astra Control之外)、然後前往Astra Control的「應用程式」頁面、定義應用程式及其資源。

應用程式管理需求

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檔案、以確保情況如此。

    以下是一些遵循這些模式的營運者應用程式:

    • "Apache K8ssandra"

      註 對於K8ssandra、支援就地還原作業。若要還原新命名空間或叢集的作業、必須先關閉應用程式的原始執行個體。這是為了確保傳遞的對等群組資訊不會導致跨執行個體通訊。不支援複製應用程式。
    • "Jenkins CI"

    • "Percona XtraDB叢集"

    Astra Control可能無法複製以「傳遞參考」架構設計的操作員(例如CockroachDB操作員)。在這些類型的複製作業中、複製的操作員會嘗試從來源操作員參考Kubernetes機密、儘管在複製程序中有自己的新秘密。由於Astra Control不知道來源營運者的Kubernetes機密資料、因此複製作業可能會失敗。

在叢集上安裝應用程式

您先請 "新增叢集" 若要使用Astra Control、您可以在叢集上安裝應用程式或管理現有的應用程式。範圍為一或多個命名空間的任何應用程式都可以管理。

定義應用程式

Astra Control在叢集上探索命名空間之後、您可以定義要管理的應用程式。您可以選擇 管理橫跨一或多個命名空間的應用程式將整個命名空間當作單一應用程式來管理。所有這些都達到資料保護作業所需的精細度。

雖然Astra Control可讓您分別管理階層的兩個層級(命名空間和該命名空間或擴充命名空間中的應用程式)、但最佳實務做法是選擇其中一個。如果在命名空間和應用程式層級同時執行動作、則Astra Control中所採取的動作可能會失敗。

提示 舉例來說、您可能想要為每週有節奏的「Maria」設定備份原則、但您可能需要比這更頻繁地備份「MariaDB」(位於同一個命名空間中)。根據這些需求、您需要分別管理應用程式、而非單一命名空間應用程式。
您需要的產品
  • 將Kubernetes叢集新增至Astra Control。

  • 叢集上已安裝一或多個應用程式。 深入瞭解支援的應用程式安裝方法

  • 一個或多個作用中的Pod。

  • 您新增至Astra Control的Kubernetes叢集上現有的命名空間。

  • (選用)任何產品上都有Kubernetes標籤 "支援的Kubernetes資源"

    提示 標籤是可指派給Kubernetes物件以供識別的金鑰/值配對。標籤可讓您更輕鬆地排序、組織及尋找Kubernetes物件。若要深入瞭解Kubernetes標籤、 "請參閱Kubernetes官方文件"
關於這項工作

定義要以應用程式形式管理的資源

您可以指定 "Kubernetes是組成應用程式的資源" 您想要使用Astra Control進行管理。定義應用程式可讓您將Kubernetes叢集的元素群組成單一應用程式。此Kubernetes資源集合是根據命名空間和標籤選取器準則來組織。

定義應用程式可讓您更精細地控制要納入Astra Control作業的內容、包括複製、快照和備份。

警告 在定義應用程式時、請確保不將Kubernetes資源納入具有保護原則的多個應用程式中。Kubernetes資源上的保護原則重疊、可能會造成資料衝突。 請參閱範例以瞭解更多資訊。
警告

在與其他應用程式共用資源的應用程式上執行就地還原作業、可能會產生非預期的結果。在其中一個應用程式上執行就地還原時、應用程式之間共享的任何資源都會被取代。例如、下列案例會在使用NetApp SnapMirror複寫時造成不理想的情況:

  1. 您可以定義應用程式 app1 使用命名空間 ns1

  2. 您可以設定的複寫關係 app1

  3. 您可以定義應用程式 app2 (在同一個叢集上)使用命名空間 ns1ns2

  4. 您可以設定的複寫關係 app2

  5. 您可以針對進行反轉複寫 app2。這會導致 app1 要停用的來源叢集上的應用程式。

關於將叢集範圍的資源新增至應用程式命名空間的功能介紹</strong> <strong> 。

除了自動包含的Astra Control之外、您也可以匯入與命名空間資源相關聯的叢集資源。您可以新增規則、其中包含特定群組的資源、種類、版本及選擇性的標籤。如果Astra Control沒有自動包含資源、您可能會想要這麼做。

您無法排除由Astra Control自動包含的任何叢集範圍資源。

您可以新增下列項目 apiVersions (與API版本結合的群組):

資源種類 每個版本(群組+版本)

ClusterRole

rbac.authorization.k8s.io/v1

ClusterRoleBinding

rbac.authorization.k8s.io/v1

CustomResource

apiextensions.k8s.io/v1、apiextensions.k8s.io/v1bet1

CustomResourceDefinition

apiextensions.k8s.io/v1、apiextensions.k8s.io/v1bet1

MutatingWebhookConfiguration

可受理的registration.k8s.io/v1

ValidatingWebhookConfiguration

可受理的registration.k8s.io/v1

步驟
  1. 從「應用程式」頁面選取*定義*。

  2. 在*定義應用程式*視窗中、輸入應用程式名稱。

  3. 在*叢集*下拉式清單中選擇應用程式執行所在的叢集。

  4. 從「命名空間」下拉式清單中選擇應用程式的命名空間。

    註 應用程式可以使用Astra Control在單一叢集上的一個或多個指定命名空間內定義。應用程式可包含橫跨同一個叢集內多個命名空間的資源。Astra Control不支援跨多個叢集定義應用程式的功能。
  5. (選用)在每個命名空間中輸入Kubernetes資源的標籤。您可以指定單一標籤或標籤選取器準則(查詢)。

    提示 若要深入瞭解Kubernetes標籤、 "請參閱Kubernetes官方文件"
  6. (選用)選取*新增命名空間*並從下拉式清單中選擇命名空間、即可新增應用程式的其他命名空間。

  7. (選用)針對您新增的任何其他命名空間、輸入單一標籤或標籤選取器條件。

  8. (可選)要包括除Astra Control自動包含的資源之外的叢集範圍資源、請勾選*包含其他叢集範圍資源*、然後完成下列步驟:

    1. 選取*新增包含規則*。

    2. 群組:從下拉式清單中、選取API資源群組。

    3. 種類:從下拉式清單中、選取物件架構的名稱。

    4. 版本:輸入API版本。

    5. 標籤選取器:選擇性地加入要新增至規則的標籤。此標籤僅用於擷取符合此標籤的資源。如果您未提供標籤、Astra Control會收集為該叢集指定之資源種類的所有執行個體。

    6. 根據您的輸入項目來檢閱建立的規則。

    7. 選取*「Add*」。

      提示 您可以根據需要建立任意數量的叢集範圍資源規則。這些規則會出現在「定義應用程式摘要」中。
  9. 選擇*定義*。

  10. 選取*定義*之後、視需要為其他應用程式重複此程序。

定義完應用程式之後、應用程式會出現在中 Healthy 請在應用程式頁面的應用程式清單中說明。您現在可以複製並建立備份與快照。

註 您剛新增的應用程式可能會在「受保護的」欄下顯示警告圖示、表示尚未備份且尚未排程備份。
提示 若要查看特定應用程式的詳細資料、請選取應用程式名稱。

若要查看新增至此應用程式的資源、請選取*資源*索引標籤。在「資源」欄中選取資源名稱後的數字、或在「搜尋」中輸入資源名稱、以查看所包含的其他叢集範圍資源。

定義要以應用程式形式管理的命名空間

您可以將命名空間中的所有Kubernetes資源新增至Astra Control管理、方法是將該命名空間的資源定義為應用程式。如果您打算以類似的方式、以相同的時間間隔來管理及保護特定命名空間中的所有資源、則此方法較適合個別定義應用程式。

步驟
  1. 從「叢集」頁面中選取叢集。

  2. 選取「命名空間」索引標籤。

  3. 選取包含您要管理之應用程式資源的命名空間「動作」功能表、然後選取*「定義為應用程式*」。

    提示 如果要定義多個應用程式、請從命名空間清單中選取、然後選取左上角的*「Actions」(動作)按鈕、然後選取「define as application*」(定義為應用程式*)。這會在個別命名空間中定義多個個別應用程式。如需多命名空間應用程式、請參閱 定義要以應用程式形式管理的資源
    註 選取「顯示系統命名空間」核取方塊、顯示預設不會用於應用程式管理的系統命名空間。 快照顯示「命名空間」索引標籤中可用的*「顯示系統命名空間*」選項。 "瞭解更多資訊"

程序完成後、與命名空間相關聯的應用程式會出現在中 Associated applications 欄位。

系統命名空間如何?

Astra Control也會探索Kubernetes叢集上的系統命名空間。我們預設不會顯示這些系統命名空間、因為您很少需要備份系統應用程式資源。

您可以選取「顯示系統命名空間」核取方塊、從「命名空間」索引標籤顯示所選叢集的系統命名空間。

快照顯示「命名空間」索引標籤中可用的*「顯示系統命名空間*」選項。

提示 Astra Control本身並非標準應用程式、而是「系統應用程式」。 您不應嘗試自行管理Astra Control。依預設、Astra Control本身不會顯示用於管理。

範例:不同版本的個別保護原則

在此範例中、DevOps團隊正在管理「一元化」版本部署。該團隊的叢集有三個執行Ngin像 的Pod。其中兩個Pod專用於穩定版本。第三個pod是用於金箱版本。

DevOps團隊的Kubernetes管理員新增標籤 deployment=stable 穩定的釋放Pod。團隊會新增標籤 deployment=canary 至準則發行Pod。

該團隊的穩定版本包括每小時快照和每日備份的需求。該準備金版本更為短暫、因此他們想要針對任何標示的項目、建立更具競爭力的短期保護原則 deployment=canary

為了避免可能的資料衝突、管理員將建立兩個應用程式:一個用於「資料」版本、另一個用於「穩定」版本。如此可將兩個Kubernetes物件群組的備份、快照和複製作業分開進行。

如需詳細資訊、請參閱