k8s网络与本地开发环境网络互通方案(一)

现状

k8s集群内是有一套完整网络环境,我们不能直接通过IP访问到k8s集群内的pod 或者service,只能通过nodeport 或者ingress 才能访问到服务.

痛点

开发人员进行微服务开发的时候需要通过服务发现进行Pod级服务的直接访问,但是现在k8s网络没办法做到直接访问pod 或者service的ip

解决方案

对于打通k8s网络与我们的开发网络根据k8s node 机器所在的网络情况 有以下几种方案:

  1. 本机静态路由表
  2. 路由器配置静态路由表
  3. VPN 桥接接入

1. 本机静态路由表

node:  192.168.1.10/24 ,192.168.1.11/24
pod cidr: 192.168.100.0/24
service cidr : 192.168.101.0/24

windows 添加静态路由表命令

route add 192.168.100.0 mask 255.255.255.0 192.168.1.10
route add 192.168.101.0 mask 255.255.255.0 192.168.1.10

2. 在路由器上设置静态表

第一种设置只能针对本机有效,如果想让在该网络内所有机器都可以直接访问k8s集群内 pod service的话,可以在路由器的静态路由表中增加静态路由 网络 192.168.100.0 子网掩码 255.255.255.0 网关 192.168.1.10 网络 192.168.101.0 子网掩码 255.255.255.0 网关 192.168.1.10

3. 桥接VPN

经验分享 程序员 微信小程序 职场和发展