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

複製及移轉應用程式

貢獻者

您可以複製現有的應用程式、在相同的Kubernetes叢集或其他叢集上建立複製的應用程式。當Astra Control複製應用程式時、會建立應用程式組態和持續儲存的複本。

如果您需要將應用程式和儲存設備從一個Kubernetes叢集移至另一個叢集、複製作業將有助於您。例如、您可能想要透過CI/CD傳輸途徑和Kubernetes命名空間來移動工作負載。您可以使用Astra Control Center UI或 "Astra Control API" 複製及移轉應用程式。

開始之前
  • * 檢查目的地 Volume * :如果您複製到不同的儲存類別、請確定儲存類別使用相同的持續磁碟區存取模式(例如 ReadWriteMany )。如果目的地持續磁碟區存取模式不同、則複製作業將會失敗。例如、如果來源持續性磁碟區使用 rwx 存取模式、請選取無法提供 rwx 的目的地儲存類別、例如 Azure Managed Disks 、 AWS EBS 、 Google Persistent Disk 或 ontap-san,將導致克隆操作失敗。如需持續磁碟區存取模式的詳細資訊、請參閱 "Kubernetes" 文件。

  • 若要將應用程式複製到不同的叢集、您必須確保包含來源和目的地叢集(如果它們不同)的雲端執行個體具有預設的儲存區。您必須為每個雲端執行個體指派預設儲存區。

  • 在複製作業期間、需要IngresClass資源或Webhooks才能正常運作的應用程式、不得在目的地叢集上定義這些資源。

註

在OpenShift環境中進行應用程式複製時、Astra Control Center需要允許OpenShift掛載磁碟區並變更檔案的擁有權。因此、您必須設定ONTAP 一個不中斷的Volume匯出原則、才能執行這些作業。您可以使用下列命令來執行此作業:

  1. export-policy rule modify -vserver <storage virtual machine name> -policyname <policy name> -ruleindex 1 -superuser sys

  2. export-policy rule modify -vserver <storage virtual machine name> -policyname <policy name> -ruleindex 1 -anon 65534

複製限制
  • 明確的儲存類別:如果您部署的應用程式已明確設定儲存類別、而且需要複製應用程式、則目標叢集必須具有原本指定的儲存類別。將具有明確設定儲存類別的應用程式複製到沒有相同儲存類別的叢集、將會失敗。

  • * ONTAP NAS 經濟型儲存等級 * :如果您的應用程式使用的是以為後盾的儲存等級 ontap-nas-economy 驅動程式、複製作業的備份部分會中斷運作。在備份完成之前、來源應用程式無法使用。複製作業的還原部分不會中斷營運。

  • * Clone與使用者限制*:任何具有命名空間名稱/ ID或命名空間標籤限制的成員使用者、都可以將應用程式複製或還原至同一叢集上的新命名空間、或是組織帳戶中的任何其他叢集。不過、相同的使用者無法存取新命名空間中的複製或還原應用程式。在複製或還原作業建立新命名空間之後、帳戶管理員/擁有者可以編輯成員使用者帳戶、並更新受影響使用者的角色限制、以便授予新命名空間的存取權。

  • * Clones使用預設值區段*:在應用程式備份或應用程式還原期間、您可以選擇性地指定區段ID。不過、應用程式複製作業一律會使用已定義的預設儲存區。沒有選項可變更實體複本的儲存區。如果您想要控制所使用的儲存桶、您也可以選擇 "變更庫位預設值" 或執行 "備份" 接著是A "還原" 獨立提供。

  • 使用Jenkins CI:如果您複製由操作人員部署的Jenkins CI執行個體、則必須手動還原持續性資料。這是應用程式部署模式的限制。

  • 使用S3鏟斗:Astra Control Center中的S3鏟斗不會報告可用容量。在備份或複製由Astra Control Center管理的應用程式之前、請先查看ONTAP 資訊庫(英文)或StorageGRID 資訊庫(英文)管理系統中的庫位資訊。

  • * 使用特定版本的 PostgreSQL * :同一個叢集中的應用程式複製作業、會以 Bitnami PostgreSQL 11.5.0 圖表持續失敗。若要成功複製、請使用舊版或更新版本的圖表。

OpenShift考量
  • 叢集與OpenShift版本:如果您在叢集之間複製應用程式、來源與目的地叢集必須是OpenShift的相同發佈版本。例如、如果您從OpenShift 4.7叢集複製應用程式、請使用同樣為OpenShift 4.7的目的地叢集。

  • 專案與UID:當您建立專案以在OpenShift叢集上裝載應用程式時、專案(或Kubernetes命名空間)會被指派安全性轉換唯一碼。若要啟用Astra Control Center來保護應用程式、並將應用程式移至OpenShift中的其他叢集或專案、您必須新增原則、讓應用程式以任何唯一識別碼的形式執行。例如、下列OpenShift CLI命令會將適當的原則授予WordPress應用程式。

    oc new-project wordpress
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:wordpress
    oc adm policy add-scc-to-user privileged -z default -n wordpress

步驟
  1. 選擇*應用程式*。

  2. 執行下列其中一項:

    • 在所需應用程式的*「Actions」(動作)欄中、選取「Options」(選項)功能表。

    • 選取所需應用程式的名稱、然後選取頁面右上角的狀態下拉式清單。

  3. 選擇* Clone(克隆)*。

  4. 指定實體複本的詳細資料:

    • 輸入名稱。

    • 選擇要複製的目的地叢集。

    • 輸入複本的目的地命名空間。與應用程式相關聯的每個來源命名空間都會對應至您所定義的目的地命名空間。

      註 Astra Control會在複製作業中建立新的目的地命名空間。您指定的目的地命名空間不得已存在於目的地叢集上。
    • 選擇*下一步*。

    • 選擇保留與應用程式相關的原始儲存類別、或選擇不同的儲存類別。

      註 您可以將應用程式的儲存類別移轉至原生雲端供應商儲存類別或其他支援的儲存類別、 以作為後盾的儲存類別 ontap-nas 在同一個叢集上、或是將應用程式複製到另一個叢集、並以儲存類別為後盾 ontap-nas-economy 驅動程式:
    註 如果您選取不同的儲存類別、而此儲存類別在還原時並不存在、則會傳回錯誤。
  5. 選擇*下一步*。

  6. 檢閱有關複本的資訊、然後選取* Clone(複製)*。

結果

Astra Control會根據您提供的資訊來複製應用程式。當有新的應用程式複製時、複製作業會成功完成 Healthy 請在「應用程式」頁面上說明。

在複製或還原作業建立新命名空間之後、帳戶管理員/擁有者可以編輯成員使用者帳戶、並更新受影響使用者的角色限制、以便授予新命名空間的存取權。

註 資料保護作業(複製、備份或還原)及後續持續調整磁碟區大小之後、UI中會顯示新的磁碟區大小、延遲最多20分鐘。資料保護作業只需幾分鐘就能成功完成、您可以使用儲存後端的管理軟體來確認磁碟區大小的變更。