默认情况下,数据库集群仅允许来自 用户集群和同一项目的连接。如需允许来自 Google Distributed Cloud 网闸隔离配置组织外部 IP 地址的外部连接,请执行以下操作:
控制台
- 使用绑定到
project-networkpolicy-admin角色的账号登录 GDC 控制台,以创建防火墙规则。 - 在 GDC 控制台的主菜单中,选择防火墙 。
- 在用户创建的规则 部分,点击创建 。
- 在防火墙规则详情中,为防火墙规则创建名称。
- 在流量方向 对话框中,选择 INGRESS 。
- 在目标 对话框中,选择服务 ,然后选择 dbs 。
- 在来源 对话框中,选择组织外部 ,然后输入您要允许外部连接的 CIDR 范围。
- 点击创建 。
- 等待新规则的状态 列显示就绪 。
- 使用绑定到
project-db-admin的账号登录 GDC 控制台 - 在 GDC 控制台的主菜单中,选择数据库服务 。
- 选择要允许外部连接的数据库集群。
- 检查数据库集群概览的连接 部分的允许外部连接 行,查看是否已允许外部连接。
- 在数据库集群概览的连接 部分,点击 修改图标 Edit。
- 选中允许外部连接 复选框。
- 点击保存 。
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.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"allowExternalIncomingTraffic":true}}' --type=merge -n USER_PROJECT
替换以下内容:
USER_PROJECT:创建数据库集群的用户项目的名称。CIDR_RANGE:您要允许外部连接的 CIDR 范围。DBCLUSTER_NAME:数据库集群的名称。