設定叢集的災難復原功能

本頁面提供操作說明,說明如何為 Google Distributed Cloud (GDC) 實體隔離方案中的叢集工作負載設定災難復原機制。

平台管理員 (PA) 必須為指定叢集建立 bucket、備份存放區和備份方案。

建立這些資源後,您必須通知基礎架構營運商 (IO) 完成還原作業。

事前準備

如要為叢集設定災難復原功能,您必須具備下列條件:

  • 有權存取要建立還原作業的 Kubernetes 叢集。詳情請參閱 Kubernetes 叢集總覽
  • 必要的身分與存取權角色:
    • 災難復原備份管理員:執行災難復原備份。請要求機構 IAM 管理員授予您「DR Backup Admin」(dr-backup-admin) 叢集角色。
    • DR 系統管理員:管理 dr-system 命名空間中的物件,以設定管理叢集備份。請機構 IAM 管理員授予您 DR 系統管理員 (dr-system-admin) 角色。

在備份網站上建立 Bucket

在備份網站上建立 bucket:

  1. 使用 gdcloud CLI 在備份網站中建立 bucket:

    gdcloud dr buckets create --cluster=CLUSTER_NAME \
    --source-site=SOURCE_SITE
    

    更改下列內容:

    • SOURCE_SITE:客戶選擇的來源網站 ID。例如:us-west
    • CLUSTER_NAME:叢集的叢集名稱,例如 root-admin
    • BUCKET_CONFIG_FILE:已儲存的 bucket 設定檔路徑。
  2. 以 JSON 格式將 bucket 設定儲存在本機:

    gdcloud dr buckets describe --cluster=CLUSTER_NAME \
    --source-site=SOURCE_SITE \
    --output-path=BUCKET_CONFIG_FILE
    
  3. 針對遠端備份用途,修改設定中的端點欄位。在網址中附加通訊埠 :8082,例如 https://objectstorage.zone1.google.gdch.test 會變成 https://objectstorage.zone1.google.gdch.test:8082

在來源網站上建立備份存放區

在來源網站中載入 bucket 設定檔,建立備份存放區:

    gdcloud dr backup-repositories create
    --cluster=CLUSTER_NAME
    --bucket-config-file=BUCKET_CONFIG_FILE

為基礎架構和 Management API 伺服器建立備份方案

使用 kubectl 在基礎架構和管理控制平面上建立 BackupPlan 資源:

    apiVersion: backup.gdc.goog/v1
    kind: BackupPlan
    metadata:
    name: MANAGEMENT_BACKUP_PLAN_NAME
    namespace: dr-system
    spec:
    clusterName: infra-mp
    backupSchedule:
        cronSchedule: "0 0 * * *"
        paused: false
    backupConfig:
        backupScope:
        selectedNamespaces:
            namespaces:
            - NAMESPACE_MP
        backupRepository: dr-backup-repo
        includeVolumeData: true
        volumeStrategy: ProvisionerSpecific
    retentionPolicy:
        backupDeleteLockDays: 40
        backupRetainDays: 40
    ---
    apiVersion: backup.gdc.goog/v1
    kind: BackupPlan
    metadata:
    name: INFRASTRUCTURE_BACKUP_PLAN_NAME
    namespace: dr-system
    spec:
    clusterName: infra-cp
    backupSchedule:
        cronSchedule: "0 0 * * *"
        paused: false
    backupConfig:
        backupScope:
        selectedNamespaces:
            namespaces:
            - NAMESPACE_CP
        backupRepository: dr-backup-repo
        includeVolumeData: true
        volumeStrategy: ProvisionerSpecific
    retentionPolicy:
        backupDeleteLockDays: 40
        backupRetainDays: 40

更改下列內容:

  • MANAGEMENT_BACKUP_PLAN_NAME:您為備份計畫選擇的名稱。 基礎架構叢集管理平面上的資源。
  • INFRASTRUCTURE_BACKUP_PLAN_NAME:您在基礎架構叢集控制層上為備份計畫資源選擇的名稱。
  • NAMESPACE_MP:在 Management API 伺服器中選擇要備份的命名空間。
  • NAMESPACE_CP:基礎架構 API 伺服器中要備份的所選命名空間。

這些備份方案遵循下列規則:

  • 每 24 小時備份所選命名空間。如要調整頻率,請修改 cronSchedule 欄位。
  • 備份內容包含磁碟區資料,並採用特定供應商策略。
  • 保留政策設為將備份保留 40 天。您可以調整 backupRetainDaysbackupDeleteLockDays,以符合資料保留政策。

執行還原作業

您必須提報問題,並指示基礎架構操作人員 (IO) 代為執行還原作業。提供必要資訊,例如 BackupRepositoryBackupPlan 資源的名稱。如要進一步瞭解 GDC 中的目標對象群組,請參閱說明文件目標對象