執行跨專案還原


本頁說明如何使用 Backup for GKE 服務,在 Google Kubernetes Engine (GKE) 中執行跨專案還原作業。

總覽

透過 Backup for GKE 跨專案還原功能,您可以將一個專案的備份還原至目標專案中的叢集。您可以將備份儲存在專屬專案中,然後將這些備份還原至其他專案中的叢集。

限制

您無法遷移現有的還原方案,以執行跨專案還原作業。

定價

如需定價詳細資料,請參閱跨專案備份與還原的定價

事前準備

  1. 開始之前,請確認您已完成下列工作:

    • 啟用 Google Kubernetes Engine API。
    • 啟用 Google Kubernetes Engine API
    • 如要使用 Google Cloud CLI 執行這項工作,請安裝初始化 gcloud CLI。如果您先前已安裝 gcloud CLI,請執行 gcloud components update,取得最新版本。
  2. 在要還原叢集的專案中啟用 Backup for GKE API。詳情請參閱「啟用 Backup for GKE API」。

  3. 在要還原的叢集中啟用 Backup for GKE 外掛程式。 詳情請參閱「為叢集啟用 GKE 備份」一文。

必要的角色

如要取得建立及管理跨專案還原作業所需的權限,請要求管理員授予您專案的 Backup for GKE 備份管理員 (roles/gkebackup.backupAdmin) 身分與存取權管理角色。這個角色是 Backup for GKE 管理員 (roles/gkebackup.admin) 的子集。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

設定服務帳戶

視需要建立專案專屬的服務帳戶,以便對專案執行作業。

  1. 使用 Google Cloud CLI 執行 gcloud beta services identity create 指令,建立服務帳戶:

    gcloud beta services identity create --service=gkebackup.googleapis.com --project=RESTORE_PROJECT_ID
    gcloud projects add-iam-policy-binding RESTORE_PROJECT_ID --member=serviceAccount:service-RESTORE_PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com --role=roles/gkebackup.serviceAgent
    

    更改下列內容:

    • RESTORE_PROJECT_ID:要還原的 Google Cloud 專案英數字元名稱。例如:restore-project-id

    • RESTORE_PROJECT_NUMBER:專案的專屬數字 ID。 Google Cloud 例如:123456789012

  2. 執行 gcloud projects add-iam-policy-binding 指令,允許還原專案的代理程式存取備份專案中的 gkebackup.googleapis.com

    gcloud projects add-iam-policy-binding BACKUP_PROJECT_ID --member serviceAccount:service-RESTORE_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com --role "roles/gkebackup.crossProjectServiceAgent"
    

    更改下列內容:

    • BACKUP_PROJECT_ID:包含備份的 Google Cloud 專案英數字元名稱。例如:backup-project-id

    • RESTORE_PROJECT_NUMBER:您要使用備份還原的 Google Cloud 專案專屬數字 ID。例如:123456789012

建立還原管道

您必須在與要還原的備份項目相同的專案和區域中建立還原管道,並在管道中設定目的地專案。這樣一來,您就能將原始專案和區域中的備份還原至目標專案。

gcloud

如要建立還原管道,請使用 Google Cloud CLI 執行 gcloud beta container backup-restore restore-channels create 指令:

gcloud beta container backup-restore restore-channels create RESTORE_CHANNEL_NAME \
 --project=BACKUP_PROJECT_ID \
 --location=BACKUP_LOCATION \
 --destination-project=projects/RESTORE_PROJECT_NUMBER

更改下列內容:

  • RESTORE_CHANNEL_NAME:要建立的還原管道名稱。

  • BACKUP_PROJECT_ID:備份檔儲存位置的專案英數字元名稱。Google Cloud 例如:backup-project-id

  • BACKUP_LOCATION:備份檔的儲存區域。例如:us-central1

  • RESTORE_PROJECT_NUMBER:要還原備份的專案專屬數字 ID。例如:123456789012

控制台

如要在 Google Cloud 控制台中建立還原管道,請按照下列操作說明進行:

  1. 前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。

    前往「Google Kubernetes Engine」

  2. 在「資源管理」選單中,按一下「Backup for GKE」

  3. 按一下「還原頻道」分頁標籤。

  4. 在「還原管道」分頁中,按一下「建立還原管道」

建立還原方案

建立還原管道後,您必須建立還原方案。如果使用的還原計畫位於其他專案,系統會自動將其繫結至現有的還原管道。還原方案中的「restore_channel」欄位會顯示還原方案繫結的還原管道。

事前準備

建立還原方案前,請參閱「規劃一組還原作業」。

建立還原方案

使用 Google Cloud 控制台在還原專案中建立還原方案:

  1. 在 Google Cloud 控制台中,前往「Google Kubernetes Engine」頁面。

    前往「Google Kubernetes Engine」

  2. 在「資源管理」選單中,按一下「Backup for GKE」

  3. 確認您位於要建立還原方案的專案中。

  4. 按一下「建立還原計畫」

  5. 按一下「設定跨專案還原」方塊。

  6. 在「備份專案」欄位中,選擇包含備份方案和備份內容的專案。

  7. 在「備份方案」欄位中,選擇相應的備份方案。

  8. 在「還原專案」欄位中,選擇包含還原方案和還原作業的專案。如果找不到還原管道,請按一下「建立還原管道」,按照提示建立還原管道,然後按一下「建立」

  9. 按一下「查看還原管道詳細資料」

  10. 按一下「驗證權限」

  11. 按照 GKE 備份說明文件中的還原方案建立步驟,完成其餘步驟。

查看還原管道

以下各節說明如何查看還原管道。

查看專案和區域中的所有還原管道

gcloud

如要查看專案和區域中的所有還原管道,請使用 Google Cloud CLI 執行 gcloud beta container backup-restore restore-channels list 指令:

  gcloud beta container backup-restore restore-channels list \
  --project=BACKUP_PROJECT_ID \
  --location=BACKUP_LOCATION

更改下列內容:

  • BACKUP_PROJECT_ID:備份檔儲存位置的專案英數字元名稱。Google Cloud 例如:backup-project-id

  • BACKUP_LOCATION:備份檔的儲存區域。例如:us-central1

控制台

如要在 Google Cloud 控制台中查看所有還原管道,請按照下列操作說明進行:

  1. 前往備份專案的 Google Cloud 控制台,然後前往「Google Kubernetes Engine」頁面。

    前往「Google Kubernetes Engine」

  2. 在「資源管理」選單中,按一下「Backup for GKE」

  3. 按一下「還原頻道」分頁標籤。

  4. 如要選取要查看的專案,請使用「專案」選單。

  5. 如要選取還原頻道的區域,請使用「區域」選單。

    主控台會顯示表格,列出所選專案和區域的所有還原管道。

查看還原管道的詳細資料

gcloud

如要查看還原管道的詳細資料,請使用 Google Cloud CLI 執行 gcloud beta container backup-restore restore-channels describe 指令:

  gcloud beta container backup-restore restore-channels describe RESTORE_CHANNEL_NAME \
    --project=BACKUP_PROJECT_ID \
    --location=BACKUP_LOCATION

更改下列內容:

  • RESTORE_CHANNEL_NAME:要查看的還原管道名稱。

  • BACKUP_PROJECT_ID:備份檔儲存位置的專案英數字元名稱。Google Cloud 例如:backup-project-id

  • BACKUP_LOCATION:備份檔的儲存區域。例如:us-central1

控制台

如要在 Google Cloud 控制台中查看還原管道的詳細資料,請按照下列指示操作:

  1. 在備份專案的 Google Cloud 控制台中,前往「Google Kubernetes Engine」頁面。

    前往「Google Kubernetes Engine」

  2. 在「資源管理」選單中,按一下「Backup for GKE」

  3. 按一下「還原頻道」分頁標籤。

  4. 如要選取要查看的專案,請使用「專案」選單。

  5. 如要選取還原頻道的區域,請使用「區域」選單。

  6. 按一下要查看的還原頻道名稱。

    Google Cloud 控制台會顯示所選還原管道的詳細資料。

查看繫結至還原管道的還原方案

如要查看繫結至還原管道的還原方案,請使用 Google Cloud CLI 執行 gcloud beta container backup-restore restore-plan-bindings list 指令:

  gcloud beta container backup-restore restore-plan-bindings list \
   --restore-channel=RESTORE_CHANNEL_NAME \
   --project=BACKUP_PROJECT_ID \
   --location=BACKUP_LOCATION

更改下列內容:

  • RESTORE_CHANNEL_NAME:要查看的還原管道名稱。

  • BACKUP_PROJECT_ID:備份檔儲存位置的專案英數字元名稱。Google Cloud 例如:backup-project-id

  • BACKUP_LOCATION:備份檔的儲存區域。例如:us-central1

管理還原的頻道

下列各節說明如何管理還原管道。

更新還原管道

請按照下列操作說明更新還原管道。請注意,你只能更新現有還原管道的說明。其他欄位則無法修改。

gcloud

如要更新還原管道的說明,請使用 Google Cloud CLI 執行 gcloud beta container backup-restore restore-channels update 指令:

gcloud beta container backup-restore restore-channels update RESTORE_CHANNEL_NAME \
--project=BACKUP_PROJECT_ID \
--location=BACKUP_LOCATION \
--description=DESCRIPTION

更改下列內容:

  • RESTORE_CHANNEL_NAME:要更新的還原管道名稱。

  • BACKUP_PROJECT_ID:備份檔儲存位置的專案英數字元名稱。Google Cloud 例如:backup-project-id

  • BACKUP_LOCATION:備份檔的儲存區域。例如:us-central1

  • DESCRIPTION:還原管道的更新說明。

控制台

如要在 Google Cloud 控制台中更新還原管道,請按照下列操作說明執行:

  1. 在備份專案的 Google Cloud 控制台中,前往「Google Kubernetes Engine」頁面。

    前往「Google Kubernetes Engine」

  2. 在「資源管理」選單中,按一下「Backup for GKE」

  3. 按一下「還原頻道」分頁標籤。

  4. 在「還原頻道」頁面中,按一下要更新的還原頻道。請注意,您只能更新現有還原管道的說明。其他欄位則無法修改。

    系統會顯示「還原頻道詳細資料」頁面。

  5. 按一下「驗證權限」

  6. 在「還原管道詳細資料」部分中,按一下「編輯說明」圖示

    系統會顯示「編輯說明」對話方塊。

  7. 在「說明」欄位中,輸入還原頻道的更新說明,然後按一下「儲存變更」

刪除還原管道

請按照下列操作說明刪除還原通道。請注意,只有沒有繫結任何還原方案的還原管道才能刪除。如果還原管道已繫結任何還原方案,您必須先刪除還原方案,才能刪除還原管道。

gcloud

如要刪除還原管道,請使用 Google Cloud CLI 執行 gcloud beta container backup-restore backup-channels delete 指令:

  gcloud beta container backup-restore backup-channels delete RESTORE_CHANNEL_NAME \
  --project=BACKUP_PROJECT_ID \
  --location=BACKUP_LOCATION

更改下列內容:

  • RESTORE_CHANNEL_NAME:要刪除的還原管道名稱。

  • BACKUP_PROJECT_ID:備份檔儲存位置的專案英數字元名稱。Google Cloud 例如:backup-project-id

  • BACKUP_LOCATION:備份檔的儲存區域。例如:us-central1

控制台

如要使用 Google Cloud 控制台刪除還原通道,請按照下列操作說明執行:

  1. 在備份專案的 Google Cloud 控制台中,前往「Google Kubernetes Engine」頁面。

    前往「Google Kubernetes Engine」

  2. 在「資源管理」選單中,按一下「Backup for GKE」

  3. 按一下「還原頻道」分頁標籤。

  4. 在「還原頻道」頁面中,按一下要刪除的還原頻道。

  5. 按一下「刪除頻道」

    系統會顯示對話方塊,詢問您是否要刪除還原通道。

  6. 在「Restore channel name」(還原頻道名稱) 欄位中,輸入要還原的頻道名稱,確認刪除。

  7. 按一下「確認」。

後續步驟