在导出数据之前,您必须执行以下操作:
向 Database Service 导出服务帐号授予对目标对象存储桶的写入权限。此角色绑定必须在与主题数据库集群相同的命名空间内创建。请参阅授予和获取存储权限。
创建数据库集群时,Database Service 系统会自动创建此服务帐号。如需查找包含由控制器维护的服务帐号的命名空间,请使用以下命令:
kubectl get dbclusters.postgresql <var>DATABASE_CLUSTER_NAME</var> -n <var>PROJECT_NAMESPACE</var> -o jsonpath='{.status.serviceAccounts.export}'
kubectl get dbclusters.postgresql <var>DATABASE_CLUSTER_NAME</var> -n <var>PROJECT_NAMESPACE</var> -o jsonpath='{.status.serviceAccounts.import}'
获得命名空间后,您要查找的服务帐号名称为
postgresql-export-DATABASE_CLUSTER_NAME。
将 DATABASE_CLUSTER_NAME 替换为您要从中导出数据的数据库集群的名称。
您可以使用 GDC 控制台或 Distributed Cloud CLI 将数据库集群导出到数据转储文件:
控制台
- 在主菜单中,选择 Database Service 。
- 选择要导出的数据库集群。系统随即会转到该集群的数据库集群概览 页面。
- 点击 导出。系统会打开导出数据 面板。
- 在导出数据 面板中,指定要导出到的存储位置。
- 点击导出 。屏幕上的消息会指示导出过程的状态。
gdcloud CLI
API
apiVersion: postgresql.dbadmin.gdc.goog/v1
kind: Export
metadata:
name: EXPORT_NAME
namespace: USER_PROJECT
spec:
dbclusterRef: DBCLUSTER_NAME
exportLocation:
s3Options:
bucket: BUCKET_NAME
key: dbs-export
type: S3
替换以下变量:
EXPORT_NAME:导出操作的名称。USER_PROJECT:要在其中创建要导出的数据库集群的用户项目的名称。DBCLUSTER_NAME:数据库集群的名称。BUCKET_NAME:用于存储导出文件的对象存储桶的名称。