网络拓扑
k8s集群的pod网段为179.10.0.0/16,svc的网段为179.20.0.0/16
办公网为18.16.0.0/16
k8s nat节点ip为18.16.200.149/32 宿主机ip段为18.16.200.0/24
办公网于k8s内网互通
目前线下环境迁移到k8s集群,运行在k8s内的微服务应用注册到nacos,注册的为本地办公网ip+port,但开发在本地办公电脑上启动服务,注册到nacos,注册信息是办公网络的IP与端口,因为办公网络与k8s集群内部网络相对隔离,导致服务之间调用异常。
添加路由中转机
选定k8s内的一台node节点专门作为路由,配置低一点没有关系, 禁止调度就行, test-worker-4
作为本次的NAT机器
1 | [root@test-master-1 ~]# kubectl get nodes |
开启nat节点的路由转发功能
test-worker-4节点执行
1 | echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf |
设置转发规则
test-worker-4节点执行
1 | iptables -t nat -A POSTROUTING -s 18.16.0.0/16 -d 179.20.0.0/16 -j MASQUERADE |
本地网络添加静态路由
本地的网络尽量是私网ip,在出口的路由骑上添加静态路由, 是在不知道的话就问下网络的同事
1 | ip route 179.20.0.0 255.255.0.0 18.16.200.149 |