Centos7 k8s v1.5.2二进制部署安装-flannel之NAT规则优化

一、flannel工作原理
  1、host-gw模型
    1)概念:相当于直接添加了一条静态路由
    2)适用:二层网络中
  2、VxLAN模型
    1)概念:创建一个flannel.1设备,打通一个隧道,通信需要先封装头部信息,在通过隧道传输
    2)适用:三层网络中

二、flannel之SNET规则,容器内部不用nat转换

  1、修改iptables优化SNAT规则,否则在访问时,其他节点记录的是node节点的ip 192.168.112.22,而不是pod集群内部的172.7.22.x

安装服务
yum install -y iptables-services

  2、启动服务

systemctl start iptables
systemctl enable iptables

  3、查找规则

iptables-save |grep -i postrouting

  4删除需要优化得规则

iptables -t nat -D POSTROUTING -s 172.7.64.0/24 ! -o docker0 -j MASQUERADE

  5、添加规则

iptables -t nat -I POSTROUTING -s 172.7.64.0/24 ! -d 172.7.0.0/16 !-o docker0 -j MASQUERADE 源地址(172.7.64.0/24)不是去往目标地址(172.7.0.0/16),并且不从docker0出去的才做nat转换

  6、删除限制

iptables-save |grep -i reject
iptables -t filter -D INPUT -j REJECT --reject-with icmp-host-prohibited 
iptables -t filter -D FORWARD -j REJECT --reject-with icmp-host-prohibited

  7保存规则

iptables-save > /etc/sysconfig/iptables

  8、修改后会影响到docker原本的iptables链的规则,所以需要重启docker服务

systemctl restart docker

 

原文地址:https://www.cnblogs.com/aqicheng/p/14441650.html