从 Dataproc 集群访问 GKE 集群中的 Postgres

Accessing Postgres in a GKE cluster from a Dataproc cluster

我在 GCP 中有两个集群。

  1. 仅使用 Kubernetes 安装了 postgres 的 GKE 集群。
  2. Dataproc 集群。

现在,如果我将 postgres 服务设为内部负载平衡以提供安全性,我就可以使用我的 VPN 配置访问它。

但是从 dataproc 集群访问 Postgres 时出现了问题。通讯不成功。因此我不得不让 postgres public 负载平衡。

我想在这里获得建议,我们如何才能在这里实现安全。?降低数据库的可访问性,但 Dataproc 集群仍应可访问它。

如果您使用 LoadBancer 直接公开服务而不使用 Ingress,您可以使用 IP 白名单 选项到白名单您的 数据集群 IP。

例子

apiVersion: v1
kind: Service
metadata:
  name: postgres
spec:
ports:
    - port: 8765
      targetPort: 9376
  selector:
    app: example
  type: LoadBalancer
  loadBalancerIP: 79.78.77.76
  loadBalancerSourceRanges:
  - 130.211.204.1/32
  - 130.211.204.2/32  

您可以在[=29]中添加数据集群 IPs(或集群所在的整个VPC子网IP范围) =]LoadBalancer 服务,只有来自集群的请求才能访问数据库。

参考link了解更多信息

入口

如果您使用入口暴露数据库

您可以使用注释:

ingress.kubernetes.io/whitelist-source-range

将 IP 列入白名单