在GCP上通过VPN进行Cassandra间DC同步

时间:2019-03-20 13:34:55

标签: cassandra kubernetes google-cloud-platform

我在公司网络172.16.0.0/16和GCP 10.164.0.0/24之间有一个VPN

在GCP上,有一个cassandra集群,该集群运行3个实例。这些实例获得动态的本地ip地址-例如 10.4.7.4 10.4.6.5 10.4.3.4

我的问题:由于隧道仅适用于10.164.0.0/24,因此无法从公司网络访问10.4x地址。

我尝试在10.164.0.100上设置LB服务,而后面有cassandra节点。这行不通:当我将该IP地址配置为本地群集上的种子节点时,它会从其种子列表中没有的10.4.x IP地址之一获得答复。

在这种情况下,我需要建议如何设置内部DC同步。

1 个答案:

答案 0 :(得分:1)

K8分配给Pod和Services的

IP地址为internal cluster-only addresses,无法从群集外部访问。某些CNI可以在群集内地址和外部网络之间建立连接,但是我认为这不是一个好主意。

您需要使用Service和NodePort或LoadBalancer类型公开Cassandra。那是另一个answer,具有来自Kubernetes Github的相同解决方案。

如果您将添加类型为NodePort的服务,则您的Cassandra将在所有Kubernetes节点上的选定端口上可用。

如果您选择LoadBalancer,Kubernetes将为您创建Cloud Load Balancer,它将成为Cassandra的入口点。因为您有到VPC的VPN,所以我认为您需要一个Internal Load Balancer