我在公司网络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同步。
答案 0 :(得分:1)
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。