本页面介绍了如何在 Google Distributed Cloud (GDC) 气隙环境中为集群工作负载创建备份代码库。
备份代码库表示与备份兼容的存储位置。备份代码库还用于存储备份、备份方案、恢复方案和恢复的记录。
准备工作
如需创建备份代码库,您必须具备以下条件:- 有可兼容的端点。
- 之前创建的存储桶,用作备份代码库。
- 您已为对象存储桶授予访问权限。
必要的身份和访问权限角色:
- 组织备份管理员:管理用户集群中的备份和恢复计划等备份资源。请让您的组织 IAM 管理员向您授予组织备份管理员 (
organization-backup-admin
) 角色。如需了解详情,请参阅角色定义。
- 组织备份管理员:管理用户集群中的备份和恢复计划等备份资源。请让您的组织 IAM 管理员向您授予组织备份管理员 (
创建代码库
使用 GDC 控制台或 API 创建代码库。
控制台
- 登录 GDC 控制台。
- 在导航菜单中,点击 Backup for Clusters。确保项目选择器中未选择任何项目。
- 点击创建代码库。
- 输入代码库名称。说明是可选的。
- 在主集群(读/写)列表中,选择一个集群。
- 在关联的集群(只读)列表中,选择关联的集群。
- 在 S3 URI 端点字段中,输入包含对象存储网站的完全限定域名 (FQDN) 的端点。
- 在存储桶名称字段中,输入存储桶的完全限定名称,该名称可从 GDC 存储桶自定义资源的状态中找到。
- 在存储桶区域字段中,输入存储桶的创建区域。
- 在访问密钥 ID 列表中,输入访问密钥 ID。
- 在访问密钥字段中,输入访问密钥。
- 点击创建。
API
如需使用备份和恢复 API,您必须配置有效的ClusterBackupRepository
自定义资源作为备份位置,并提供所需的凭据。
提取在授予和获取存储桶访问权限中生成的 Secret。
添加
ClusterBackupRepository
自定义资源以使用这些凭据,并将新资源应用于 Management API 服务器。 备份代码库是集群范围的:apiVersion: backup.gdc.goog/v1 kind: ClusterBackupRepository metadata: name: user-1-user namespace: user-1-user-cluster spec: secretReference: namespace: "object-storage-secret-ns" name: "object-storage-secret" endpoint: "https://objectstorage.google.gdch.test" type: "S3" s3Options: bucket: "fully-qualified-bucket-name" region: "us-east-1" forcePathStyle: true importPolicy: "ReadWrite"
此示例包含以下值:
值 说明 secretReference
一个 NamespacedName
,用于引用包含endpoint
的访问凭据的 Secret。endpoint
存储系统的完全限定域名。 type
备份代码库的类型。仅支持 S3
类型。s3Options
S3 端点的配置。如果 type
为S3
,则必须提供此值。bucket
:存储桶的完全限定名称,可从 GDC 存储桶自定义资源的状态中找到。region
:指定端点的区域。区域是存储系统特有的。forcePathStyle
:此选项用于决定是否强制使用对象路径样式网址。
importPolicy
设置为以下其中一项:
ReadWrite
:此代码库可用于安排或创建备份、备份方案和恢复。ReadOnly
:此代码库只能用于导入和查看备份。无法在此代码库中创建新的备份或资源,但恢复操作可以使用只读备份并引用它们进行恢复。备份代码库用作ReadOnly.
的频率不受限制
备份代码库导入政策
所有集群都必须至少有一个 ReadWrite
存储库,才能成功使用备份和恢复功能。ReadOnly
代码库是可选的,没有限制,用于了解其他集群备份,以便进行跨集群恢复。
ReadOnly
代码库不能用作其他备份的存储位置,也不能用作导入它们的集群中的备份方案。
将代码库导入为 ReadWrite
会声明该代码库归相应集群所有,从而防止其他集群将同一代码库导入为 ReadWrite
。导入 ReadWrite
代码库后,该代码库中之前的所有备份、备份方案和恢复记录都会作为本地自定义资源导入到目标集群中。
将代码库导入为 ReadOnly
不会声明代码库,只会导入备份、备份方案、恢复和恢复方案。只读代码库中的备份方案不会安排备份,它们的存在是为了让您了解要导入的集群中存在哪些备份方案。移除 ReadOnly
代码库会清理集群中的所有导入资源,并且不会影响存储位置中的资源,因为只读代码库不会对对象存储执行任何写入操作。
从集群中移除 ReadWrite
代码库时:
- 与相应代码库关联的所有本地自定义资源(例如备份和恢复)都会从当前集群中移除。
- 系统会移除该集群对代码库的声明,从而允许其他集群将该代码库用作
ReadWrite
。不过,这些资源不会从存储端点中移除。