默认情况下,数据库集群仅允许来自用户集群和同一项目的连接。如需允许来自 Google Distributed Cloud 气隙组织外部 IP 地址的外部连接,请执行以下操作:
控制台
- 使用绑定到
project-networkpolicy-admin
角色的账号登录 GDC 控制台,以创建防火墙规则。 - 在 GDC 控制台的主菜单中,选择防火墙。
- 在用户创建的规则部分,点击创建。
- 在防火墙规则详情中,为防火墙规则创建名称。
- 在流量方向对话框中,选择 INGRESS。
- 在目标对话框中,选择服务,然后选择 dbs。
- 在来源对话框中,选择组织外部,然后输入您希望允许外部连接的 CIDR 范围。
- 点击创建。
- 等待新规则的状态列显示就绪。
- 使用与
project-db-admin
关联的账号登录 GDC 控制台 - 在 GDC 控制台的主菜单中,选择数据库服务。
- 选择要启用外部连接的数据库集群。
- 检查数据库集群概览的连接部分中的允许外部连接行,看看是否已允许外部连接。
- 在数据库集群概览的连接部分中,点击修改 修改。
- 选中允许外部连接复选框。
- 点击保存。
API
创建
ProjectNetworkPolicy
资源以允许外部连接:apiVersion: networking.gdc.goog/v1 kind: ProjectNetworkPolicy metadata: name: allow-external-dbs namespace: USER_PROJECT spec: ingress: - from: - ipBlock: cidr: CIDR_RANGE policyType: Ingress subject: managedServices: matchTypes: - dbs subjectType: ManagedService ```
更新数据库集群以启用组织外部的连接:
kubectl patch dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"allowExternalIncomingTraffic":true}}' --type=merge -n USER_PROJECT
替换以下内容:
USER_PROJECT
:创建数据库集群的用户项目的名称。CIDR_RANGE
:您希望允许外部连接的 CIDR 范围。DBENGINE_NAME
:数据库引擎的名称。可以是alloydbomni
、postgresql
或oracle
。DBCLUSTER_NAME
:数据库集群的名称。