创建数据库集群

本页面介绍如何使用数据库服务在 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_editorproject_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 创建数据库集群:

控制台

  1. 在主菜单中,选择数据库服务
  2. 点击创建数据库集群
  3. 选择数据库引擎对话框中,选择数据库引擎

  4. 配置集群对话框中,指定集群 ID、密码和数据库版本。您可以启用备份并配置备份保留期限。

  5. 如果您选择了 PostgreSQL 数据库引擎,则可以为数据库集群启用高可用性。如果启用,数据库服务会在与主实例相同的可用区中预配备用实例,以防发生故障。如需了解详情,请参阅高可用性

  6. 配置主实例对话框中,指定数据库集群的主实例的 CPU、内存和存储空间容量。建议您选择足够大的内存来容纳最大的表。

  7. 点击创建。创建数据库集群可能需要几分钟的时间。 在集群概览页面中检查集群的状态。当集群准备就绪时,状态会从 Creating 更改为 Ready

gdcloud

  1. 在使用 Distributed Cloud CLI 之前,请安装并初始化该工具。然后,通过您的组织进行身份验证

  2. 运行以下命令以创建数据库集群:

    gdcloud database clusters create CLUSTER_NAME \
        --database-version DB_VERSION \
        --admin-password ADMIN_PASSWORD
    

    执行以下变量替换操作:

    • CLUSTER_NAME 替换为新集群的名称。
    • DB_VERSION 替换为新集群的版本字符串。例如 POSTGRESQL_13ORACLE_19_ENTERPRISEALLOYDBOMNI_15
    • ADMIN_PASSWORD 替换为新集群的管理员密码。
  3. 如需详细了解如何为数据库集群配置 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,数据库引擎的名称。此值是 alloydbomnipostgresql 之一。
  • DB_VERSION,数据库引擎的版本。
  • DB_MEMORY:分配给数据库集群的内存量,例如 5Gi
  • DB_CPU:分配给数据库集群的 CPU 数量,例如 2
  • DB_DATA_DISK:分配给数据库集群的空间量,例如 10 Gi
  • DB_LOG_DISK,分配给 Oracle 数据库的日志磁盘的空间量(仅限 Oracle)。