通过 VPC 对等连接从虚拟机到 Kubernetes 服务

通过 VPC 对等连接从虚拟机到 Kubernetes 服务

我在 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。

从集群外部访问服务您应该创建NodePortLoadBalancer服务或Ingress

相关内容