1. k8s pod 和 service 网络裸露
- 借助
iptables
的路由转发性能,买通k8s集群内的pod和service网络,与内部网络联通
# 查看集群的 pod 网段和 service 网段kubectl -n kube-system describe cm kubeadm-confignetworking: dnsDomain: cluster.local podSubnet: 10.244.0.0/16 serviceSubnet: 10.96.0.0/12# 内核模块sysctl -a | grep 'net.ipv4.ip_forward = 1'echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.confsysctl -p# 在k8s节点 192.168.1.79 节点上开启转发 192.168.0.0/16 网段为服务器网段,利用 192.168.0.0/16 网段某个服务器作为路由器iptables -P FORWARD ACCEPTiptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o eth0 -j SNAT --to-source 10.244.0.0/16iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o eth0 -j SNAT --to-source 10.96.0.0/12# 这个不确定是否执行iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -j MASQUERADE# 测试,在 192.168.0.0/16 网段中找一个非k8s集群的服务器,加上路由,进行测试# 现找个pod ip ping一下是否通不通route add -net 10.244.0.0 netmask 255.255.0.0 gw 192.168.1.79 dev eth0# 加上这个路由之后, 再测试看是否通# 为了能让办公人员的浏览器能够拜访到, 须要再外围交换机上配置规定# 外围交换机route add -net 10.244.0.0 netmask 255.255.0.0 gw 192.168.1.79 dev eth0route add -net 10.96.0.0 netmask 255.240.0.0 gw 192.168.1.79 dev eth0