本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

使用Astra Control來協助事後分析及還原應用程式

總覽

在中 "第一次使用案例"、我們示範如何使用NetApp Astra Control Center來保護Kubernetes中的應用程式。本節說明如何使用NetApp Astra工具套件中的Python SDK、透過Astra Control將應用程式備份直接整合至您的開發工作流程。此方法可在持續整合與持續部署(CI/CD)程序期間、將隨需備份自動化、藉此保護開發與正式作業環境。在CI/CD傳輸途徑和正式作業應用程式中加入這一層額外的應用程式一致資料保護功能、如果程序發生問題、開發程序就能安全無虞、進而促進良好的營運持續性實務做法。

在傳統的工作流程中、當應用程式升級至新版本時遇到故障之後、開發團隊會根據客戶提供的錯誤報告、嘗試即時疑難排解問題。或者、在第一次發生問題時、團隊可能會嘗試將應用程式重新部署到平行的偵錯環境、使該程序離線。他們可以將舊版程式碼庫從舊版重新部署至正式作業環境、以便將應用程式還原至正常運作狀態。

傳統工作流程

雖然此方法可行、但團隊必須確保中斷的正式作業應用程式狀態與發生問題時在正式作業環境中看到的版本相符。他們也必須花時間將已知良好的建置作業提升至正式作業環境、方法是從儲存庫擷取程式碼、然後重新部署機器映像、將應用程式還原至良好的執行狀態。此外、在此案例中、我們並未考慮正式作業資料庫本身是否因為錯誤的程式碼而毀損。理想情況下、資料庫資料有個別的備份程序、但我們必須假設它們與應用程式發佈時的狀態一致嗎?使用Astra Control進行狀態化和應用程式一致的備份、還原和複製、在這種情況下、真正展現出其價值。

首先、我們可以使用Astra Control來協助驗證後分析應用程式狀態。我們會以應用程式一致的方式、將正式作業版本複製到平行測試環境、以達成此目標。將此環境保留在錯誤狀態下、讓我們能夠即時疑難排解問題。

此外、Astra Control還支援就地還原功能、可讓我們將正式作業應用程式還原至上次可接受的備份(在受影響的程式碼版本之前)。還原的版本會以應用程式一致且有狀態的方式(包括先前指派的入口IP)、假設先前的錯誤正式作業應用程式位置。因此、存取前端的客戶將不會察覺到移轉到備份版本。

驗證後工作流程

使用案例驗證先決條件

下列工具或平台已部署並設定為先決條件:

  • Red Hat OpenShift Container Platform。

  • NetApp Astra Trident安裝在OpenShift上、後端設定為NetApp ONTAP 的整套系統。

  • 預設已設定的儲存設備、指向NetApp ONTAP 的後端。

  • NetApp Astra Control Center安裝在OpenShift叢集上。

  • OpenShift叢集已新增為Astra Control Center的受管理叢集。

  • Jenkins安裝在OpenShift叢集上。

  • 安裝在正式作業環境中的Magento應用程式。此使用案例中的正式作業環境是Red Hat OpenShift叢集中稱為「magento prod」的命名空間。

  • 由Astra Control Center管理的正式作業應用程式。

  • 使用Astra Control擷取的正式作業應用程式已知良好的備份。

複製與還原管線

考慮到應用程式已升級至新版本、正式作業環境中的應用程式(「magento prod」)在升級後並未如預期運作。假設由前端查詢傳回的資料與要求不符、或是資料庫已毀損。若要複製及還原管線、請完成下列步驟:

失敗的應用程式
  1. 登入Jenkins並按一下「New item(新項目)」、然後按一下「Pipeline(管道)」、建立管道。

  2. 從Jenkinsfile複製管路 "請按這裡"

  3. 將管線貼到Jenkins Pipeline區段、然後按一下「Save(儲存)」。

  4. 在Jenkins管線的參數中填入相關的詳細資料、例如目前正式作業的Magento應用程式版本、Astra Control Center FQDN、API權杖、正式作業與偵錯環境的執行個體ID和應用程式名稱或命名空間、以及來源與目的地叢集名稱。就本使用案例而言、正式作業環境是稱為「magent-prod」的命名空間、而偵錯環境則是在Red Hat OpenShift叢集上設定的命名空間、稱為「magento除錯」。

    MAGENTO_VERSION = '2.4.1-debian-10-r14'
    ASTRA_TOOLKIT_VERSION = '2.0.2'
    ASTRA_API_TOKEN = 'xxxxx'
    ASTRA_INSTANCE_ID = 'xxx-xxx-xxx-xxx-xxx'
    ASTRA_FQDN = 'netapp-astra-control-center.org.example.com'
    PROD_APP_NAME = 'magento-prod'
    DEBUG_APP_NAME = 'magento-debug'
    DEBUG_NAMESPACE = 'magento-debug'
    PROD_KUBERNETES_CLUSTER = 'ocp-vmw'
    DEBUG_KUBERNETES_CLUSTER = 'ocp-vmw'
  5. 按一下「立即建置」。管道會開始執行、並逐步完成各個步驟。應用程式會先在目前狀態下複製到偵錯環境、然後將應用程式還原至已知可運作的備份。

    驗證後處理管道
  6. 驗證複製的應用程式是否為內含錯誤的版本。

    複製的應用程式失敗
  7. 確認正式作業環境已還原為正常運作的備份、而且正式作業中的應用程式也能正常運作。

    還原的Prod應用程式

這兩項作業會同時加速恢復正常業務營運。若要查看實際使用案例、請觀看影片 "請按這裡"