从 Dataproc 集群访问 GKE 集群中的 Postgres
Accessing Postgres in a GKE cluster from a Dataproc cluster
我在 GCP 中有两个集群。
- 仅使用 Kubernetes 安装了 postgres 的 GKE 集群。
- 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 列入白名单
我在 GCP 中有两个集群。
- 仅使用 Kubernetes 安装了 postgres 的 GKE 集群。
- 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 列入白名单