当前位置:首页 > Web开发 > 正文

最常见的 一种 Kubernetes 网络方案就是利用 VxLan Overlay 网络

2024-03-31 Web开发

标签:

流量转发和桥接

Kubernetes的核心是依靠Netfilter内核模块来设置初级另外集群IP负载均衡。需要两个关键的模块:IP转发和桥接

IP转发(IP Forward)

IP forward 是一种内核态设置,允许将一个接口的流量转发到此外一个接口,该配置是 Linux 内核将流量从容器路由到外部所必需的.

检察 sysctl net.ipv4.ip_forward # 0意味着未开启 设置 sysctl -w net.ipv4.ip_forward=1 echo net.ipv4.ip_forward=1 >> /usr/lib/sysctl.d/00-system.conf sysctl -p 桥接

bridge-netfilter 设置可以使 iptables 法则可以在 Linux Bridges 上面事情,就像 Docker 和 Kubernetes 设置的那样。

此设置对付 Linux 内核进行宿主机和容器之间进行数据包的地点转换是必需的。

检察 [[email protected] home]# sysctl net.bridge.bridge-nf-call-iptables net.bridge.bridge-nf-call-iptables = 1 # 如果是0,则暗示未开启 设置 modprobe br_netfilter sysctl -w net.bridge.bridge-nf-call-iptables=1 echo net.bridge.bridge-nf-call-iptables=1 >> /etc/sysconf.d/10-bridge-nf-call-iptables.conf sysctl -p 防火墙法则

Kubernetes 供给了各类网络插件来撑持其集群成果,同时也对传统的基于 IP 和端口的应用措施供给了向后兼容的撑持。

最常见的 一种 Kubernetes 网络方案就是操作 VxLan Overlay 网络,此中的 IP 数据包被封装在 UDP 中通过8472端口进行数据传输。

这种情况下会呈现100%数据包丢掉

$ ping 10.244.1.4 PING 10.244.1.4 (10.244.1.4): 56 data bytes ^C--- 10.244.1.4 ping statistics --- 5 packets transmitted, 0 packets received, 100% packet loss

最好的方法是使用不异的协议来传输数据,,因为防火墙法则可能配置了特地的协议,好比可能会阻止 UDP 流量。

iperf 是一个很好的验证工具

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32014.html