本页面介绍如何使用数据库服务在 Google Distributed Cloud (GDC) 气隙环境中创建和管理数据库。
授权和角色
用户必须获得授权才能访问数据库服务。无论是使用 GDC 控制台还是 Distributed Cloud CLI,都需要授权才能访问数据库服务。
以下角色会向用户授予权限:
project-viewer
- 拥有此角色的用户可以访问 GDC 控制台。
project-db-viewer
- 具有此角色的用户可以查看数据库集群。
project-db-editor
- 拥有此角色的用户具有
project-db-viewer
授予的功能,还可以修改数据库集群。 project-db-admin
- 拥有此角色的用户具有
project-db-editor
授予的功能,还可以创建和删除数据库集群。 project-bucket-object-viewer
- 拥有此角色的用户可以使用 GDC 控制台中数据库服务界面中的存储空间浏览器。此接口用于指定数据库导入的文件,以及指定数据库导出生成的文件的目标位置。
project-monitoring-viewer
- 具有此角色的用户可以访问监控实例。如需详细了解如何观测数据库服务指标,请参阅观测指标。您应仅向需要访问监控实例的用户授予此角色。
project_mp_admin
- 具有此角色的用户拥有
project_mp_editor
和project_mpb_editor
角色赋予的功能,因此可以创建、修改和删除维护政策和维护政策绑定。 project_mp_viewer
- 具有此角色的用户可以查看维护政策。
project_mp_editor
- 具有此角色的用户拥有
project_mp_viewer
角色所授予的权限,还可以创建、修改和删除维护政策。 project_mpb_viewer
- 具有此角色的用户可以查看维护政策绑定。
project_mpb_editor
- 具有此角色的用户拥有
project_mpb_viewer
角色所授予的权限,还可以创建、修改和删除维护政策绑定。
可用的数据库引擎
以下数据库引擎可在 GDC 环境中使用:
数据库 | 版本 |
---|---|
AlloyDB Omni | 15 |
Oracle | 19 |
PostgreSQL | 13、14、15 |
选择数据库引擎类型并创建数据库集群
如果您想为数据库集群启用备份,请先创建一个分布式 Cloud Storage 存储桶或任何可通过与 S3 兼容的端点访问的存储桶,然后创建一个名为 dbs-backup-repository
的备份存储库。如果使用分布式云之外的存储桶,您有责任确保该存储桶已正确加密。
以下是为数据库服务备份创建的 BackupRepository
自定义资源示例:
apiVersion: backup.gdc.goog/v1
kind: BackupRepository
metadata:
name: dbs-backup-repository
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
具有 Project DB Admin 角色的用户必须执行以下步骤。使用 GDC 控制台或 Distributed Cloud CLI 创建数据库集群:
控制台
- 在主菜单中,选择数据库服务。
- 点击创建数据库集群。
在选择数据库引擎对话框中,选择数据库引擎。
在配置集群对话框中,指定集群 ID、密码和数据库版本。您可以启用备份并配置备份保留期限。
如果您选择了 PostgreSQL 数据库引擎,则可以为数据库集群启用高可用性。如果启用,数据库服务会在与主实例相同的可用区中预配备用实例,以防发生故障。如需了解详情,请参阅高可用性。
在配置主实例对话框中,指定数据库集群的主实例的 CPU、内存和存储空间容量。建议您选择足够大的内存来容纳最大的表。
点击创建。创建数据库集群可能需要几分钟的时间。 在集群概览页面中检查集群的状态。当集群准备就绪时,状态会从 Creating 更改为 Ready。
gdcloud
运行以下命令以创建数据库集群:
gdcloud database clusters create CLUSTER_NAME \ --database-version DB_VERSION \ --admin-password ADMIN_PASSWORD
执行以下变量替换操作:
- 将
CLUSTER_NAME
替换为新集群的名称。 DB_VERSION
替换为新集群的版本字符串。例如POSTGRESQL_13
、ORACLE_19_ENTERPRISE
或ALLOYDBOMNI_15
。- 将
ADMIN_PASSWORD
替换为新集群的管理员密码。
- 将
如需详细了解如何为数据库集群配置 CPU、内存和存储空间资源、配置备份、启用高可用性以及其他可用选项,请运行以下命令:
gdcloud database clusters create --help
API
对于 AlloyDB 或 PostgreSQL 数据库:
apiVersion: v1
kind: Secret
metadata:
name: db-pw-DBCLUSTER_NAME
namespace: USER_PROJECT
type: Opaque
data:
DBCLUSTER_NAME: "BASE64_PASSWORD"
---
apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
kind: DBCluster
metadata:
name: DBCLUSTER_NAME
namespace: USER_PROJECT
spec:
primarySpec:
adminUser:
passwordRef:
name: db-pw-DBCLUSTER_NAME
version: "DB_VERSION"
resources:
memory: DB_MEMORY
cpu: DB_CPU
disks:
- name: DataDisk
size: DB_DATA_DISK
对于 Oracle 数据库:
apiVersion: v1
kind: Secret
metadata:
name: db-pw-DBCLUSTER_NAME
namespace: USER_PROJECT
type: Opaque
data:
DBCLUSTER_NAME: "BASE64_PASSWORD"
---
apiVersion: oracle.dbadmin.gdc.goog/v1
kind: DBCluster
metadata:
name: DBCLUSTER_NAME
namespace: USER_PROJECT
spec:
primarySpec:
adminUser:
passwordRef:
name: db-pw-DBCLUSTER_NAME
version: "DB_VERSION"
cdbName: GCLOUD
resources:
memory: DB_MEMORY
cpu: DB_CPU
disks:
- name: DataDisk
size: DB_DATA_DISK
- name: LogDisk
size: DB_LOG_DISK
执行以下变量替换操作:
DBCLUSTER_NAME
,数据库集群的名称。USER_PROJECT
:要在其中创建数据库集群的用户项目的名称。BASE64_PASSWORD
:数据库管理员密码的 base64 编码。DBENGINE_NAME
,数据库引擎的名称。此值是alloydbomni
或postgresql
之一。DB_VERSION
,数据库引擎的版本。DB_MEMORY
:分配给数据库集群的内存量,例如5Gi
。DB_CPU
:分配给数据库集群的 CPU 数量,例如2
。DB_DATA_DISK
:分配给数据库集群的空间量,例如10 Gi
。DB_LOG_DISK
,分配给 Oracle 数据库的日志磁盘的空间量(仅限 Oracle)。