为集群配置灾难恢复

本页面介绍了如何为 Google Distributed Cloud (GDC) 空气隔离环境中的集群工作负载配置灾难恢复。

作为平台管理员 (PA),您必须为指定集群创建存储桶、备份存储库和备份方案。

创建这些资源后,您必须通知基础设施运维人员 (IO) 完成恢复。

准备工作

如需为集群配置灾难恢复,您必须具备以下条件:

  • 对您要创建恢复的 Kubernetes 集群的访问权限。如需了解详情,请参阅 Kubernetes 集群概览
  • 必要的身份和访问权限角色:
    • DR Backup Admin:执行灾难恢复备份。请让您的组织 IAM 管理员为您授予 DR Backup Admin (dr-backup-admin) 集群角色。
    • DR System Admin:管理 dr-system 命名空间中的对象,以设置管理集群备份。请让您的组织 IAM 管理员向您授予 DR System Admin (dr-system-admin) 角色。

在备份网站上创建存储桶

在备份网站上创建存储桶:

  1. 使用 gdcloud CLI 在备份站点中创建存储桶:

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

    替换以下内容:

    • SOURCE_SITE:客户选择的源网站的标识符。例如 us-west
    • CLUSTER_NAME:集群的集群名称,例如 root-admin
    • BUCKET_CONFIG_FILE:已保存的存储桶配置文件的路径。
  2. 以 JSON 格式将存储桶配置存储在本地:

    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

在源网站上创建备份代码库

通过加载源网站中的存储桶配置文件来创建备份代码库:

    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 中的受众群体,请参阅文档受众群体