创建数据库集群

本页面介绍如何使用数据库服务在 Google Distributed Cloud (GDC) 气隙环境中创建和管理数据库。

授权和角色

用户必须获得授权才能访问数据库服务。无论是使用 GDC 控制台还是分布式云 CLI,都需要授权才能访问数据库服务。

以下角色可向用户授予权限:

Project Viewer (project-viewer)
拥有此角色的用户可以访问 GDC 控制台。
Project DB Viewer(project-db-viewer)
具有此角色的用户可以查看数据库集群。
Project DB Editor (project-db-editor)
拥有此角色的用户具有 project-db-viewer 授予的权限,还可以修改数据库集群。
Project DB Admin (project-db-admin)
具有此角色的用户拥有 project-db-editor 授予的权限,还可以创建和删除数据库集群。
Project Bucket Object Viewer (project-bucket-object-viewer)
拥有此角色的用户可以使用 GDC 控制台中数据库服务界面中的存储空间浏览器。此接口用于指定数据库导入的文件,以及指定数据库导出生成的文件的目标位置。
Project Monitoring Viewer (project-monitoring-viewer)
具有此角色的用户可以访问监控实例。如需详细了解如何观测数据库服务指标,请参阅观测指标。您应仅向需要访问监控实例的用户授予此角色。
Project Maintenance Policy Admin (project-mp-admin)
具有此角色的用户拥有 project_mp_editorproject_mpb_editor 角色赋予的功能,因此可以创建、修改和删除维护政策和维护政策绑定。
Project Maintenance Policy Viewer (project-mp-viewer)
具有此角色的用户可以查看维护政策。
Project Maintenance Policy Editor (project-mp-editor)
具有此角色的用户拥有 project_mp_viewer 角色所赋予的权限,还可以创建、修改和删除维护政策。
Project Maintenance Policy Binding Viewer (project-mpb-viewer)
具有此角色的用户可以查看维护政策绑定。
Project Maintenance Policy Binding Editor (project-mpb-editor)
具有此角色的用户拥有 project_mpb_viewer 角色所赋予的权限,还可以创建、修改和删除维护政策绑定。

可用的数据库引擎

以下数据库引擎可在 GDC 环境中使用:

数据库 版本
AlloyDB Omni 15
Oracle 19
PostgreSQL 13、14、15

选择数据库引擎类型并创建数据库集群

具有 Project DB Admin 角色的用户必须执行以下步骤。您可以使用 GDC 控制台或 Distributed Cloud CLI 来创建数据库集群。

控制台

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

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

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

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

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

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

  1. 对于 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)。
  2. 在同一命名空间中创建 DBS BackupPlan 资源以启用备份。