我在 GPC 中有 2 个 VPC,第一个(VPC-1)运行 k8s 集群,第二个运行一些虚拟机(VPC-2)。
我在这两个 VPC 之间创建了一个 VPC 对等互连,并且能够从 VPC-2 上的 VM 连接到 VPC-1 上的 pod IP。
但我想连接到服务 CIDR,而不是 POD CIDR。我检查了所有配置,所有用于 POD CIDR 的配置也配置为服务和主 CIDR。
VPC-1 上的 k8s 集群具有以下网络:Pod CIDR => 10.0.0.0/14 Master CIDR => 10.125.1.0/24 Service CIDR => 10.4.0.0/20
以及 VPC-2:10.155.0.0/20
为什么我无法从 VPC-2(vm)连接到 k8s 中的服务?
答案1
这是预期的行为。
虽然在同一个 VPC 中您可以访问 pod,但无法访问服务。
容器(和 Pod)已创建虚拟接口,您可以从那里访问服务,因为 kube-proxy 创建了iptables 规则并可以将请求从服务路由到后端 pod。
到从集群外部访问服务您应该创建NodePort
、LoadBalancer
服务或Ingress
。