flannel 工作原理
[root@k8s3 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.4.7.2        0.0.0.0         UG    100    0        0 ens33
10.4.7.0        0.0.0.0         255.255.255.0   U     100    0        0 ens33
172.7.21.0      0.0.0.0         255.255.255.0   U     0      0        0 docker0
172.7.22.0      10.4.7.22       255.255.255.0   UG    0      0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

1.flannel的host-gw模型  (host-gw模型就是在宿主机添加静态路由)

宿主机必须在同一个网关下才能使用host-gw模型 (效率最高,占用资源最少)

2.flannel的vxlan模型(在两台宿主机虚拟出两个flannel虚拟网卡,并且会打通fannel网络隧道,请求会先到fannel网络隧道进行封装然后在去转发)

flannel的vxlan模型效率较低

flannel vxlan 模型实验
操作etcd 增加flannel vxlan

需要删除之前的host-gw模型
./etcdctl get /coreos.com/network/config
./etcdctl rm /coreos.com/network/config
cd /opt/etcd
./etcdctl set /coreos.com/network/config '{"Network": "172.7.0.0/16", "Backend": {"Type": "vxlan"}}'
重启flanneld:
# supervisorctl restart flanneld-7-21
可以发现多了一块网卡,这块网卡就是vxlan用于隧道通信的虚拟网卡:

3.配置vxlan跟host-gw混合模型:

./etcdctl set /coreos.com/network/config  '{"Network": "172.7.0.0/16", "Backend": {"Type": "vxlan","Directrouting": true}}'  #在同一个网关下走host-gw模式,如果在不同网段则走vxlan

4.flannel SNAT 规则优化

k8s 容器内部必须看到的是pod真实ip而不是宿主机ip,不要去做SNAT转化
查看
[root@k8s4 ~]# iptables-save |grep -i postrouting
-A POSTROUTING -s 172.7.22.0/24 ! -o docker0 -j MASQUERADE
来源地址172.7.22.0/24 伪装宿主机访问,但是没有目标地址
这里需要修改iptables优化SNAT规则,否则在访问时,其他节点记录的是node节点的ip 10.4.7.21,而不是pod集群内部的172.7.21.x,红色部分按需修改

安装iptables 21/22上
yum install iptables-services -y
systemctl start iptables
systemctl enable iptables
优化规则
先删除规则   iptables -t nat -D  POSTROUTING -s 172.7.21.0/24 ! -o docker0 -j MASQUERADE
在插入规则        iptables -t nat -I  POSTROUTING -s 172.7.21.0/24 ! -d 172.7.0.0/16 ! -o docker0 -j MASQUERADE   #不是从原地址172.7.21.0 不是docker0网络和172.7.0.0/16 大地址出来的才去做MASQUERADE转换
保存规则    iptables-save > /etc/sysconfig/iptables

删除reject
[root@k8s4 ~]# iptables-save |grep -i reject
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
[root@k8s4 ~]# iptables -t filter -D INPUT -j REJECT --reject-with icmp-host-prohibited
[root@k8s4 ~]# iptables -t filter -D FORWARD -j REJECT --reject-with icmp-host-prohibited
[root@k8s4 ~]# iptables-save > /etc/sysconfig/iptables

docker flannel 工作原理/模型 SNAT规则优化 3相关推荐

  1. Unreal Engine 4 —— 版本兼容的工作原理以及一些可优化项

    http://blog.csdn.net/noahzuo/article/details/51887205 这篇博客讲解了在UE4中涉及到版本之间识别.切换的工作原理以及一些可优化项的介绍. 本博客翻 ...

  2. 用一个实际例子理解Docker volume工作原理

    要了解Docker Volume,首先我们需要理解Docker文件系统的工作原理.Docker镜像是由多个文件系统的只读层叠加而成.当一个容器通过命令docker run启动时,Docker会加载只读 ...

  3. 用一个实际例子理解Docker volume工作原理 1

    要了解Docker Volume,首先我们需要理解Docker文件系统的工作原理.Docker镜像是由多个文件系统的只读层叠加而成.当一个容器通过命令docker run启动时,Docker会加载只读 ...

  4. css的工作原理及使用规则

    1. css定义 层叠样式表(英语:Cascading Style Sheets,简写CSS),又称串样式列表.级联样式表.串接样式表.层叠样式表.阶层式樣式表,一种用来为结构化文档(如HTML文档或 ...

  5. docker 基础工作原理(一)

    注:以下博文来源于我的独立博客网站:http://www.chenbiaolong.com/,由于原网站是用markdown写的,复制到这边格式有点问题. 以后博文将主要迁移到www.chenbiao ...

  6. 解密百度等搜索引擎的工作原理 SEO培训SEO优化课程

    课程目录: 课时1 seo培训第一课 解密百度等搜索引擎的工作原理 了解SEO推广 课时2 seo培训第一课续 解密百度等搜索引擎的工作原理 了解SEO推广 课时3 SEO培训第二讲页面标题标签优化 ...

  7. linux_makefile文件编写,基本规则、工作原理、模式规则,wildcard函数、patsubst函数

    接上一篇:linux_GDB调试学习(调试运行.多文件设置断点)_C/C++程序调试 本次来分享linux下的makefile文件的编写,开始上菜: 目录 1.makefile文件的命名规则 2.用途 ...

  8. SEO学习(SEO是什么,SEO的工作原理,SEO如何优化)

    文章目录 一.SEO是什么? 二.SEO的工作原理 三.SEO如何优化 内部优化 外部优化 一.SEO是什么? SEO(Search Engine Optimization),意思是搜索引擎优化,是一 ...

  9. Flannel 工作原理

    Flannel是CoreOS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址(让每个docker0分配 ...

最新文章

  1. 记录一次MySQL两千万数据的大表优化解决过程,提供三种解决方案
  2. centos下axel安装与使用
  3. LSTM终获「正名」,IEEE 2021神经网络先驱奖授予LSTM提出者Sepp Hochreiter
  4. python xml字符串和dict字典互转
  5. Oracle: SQL组合不同字段作为一个查询条件
  6. 前端工程与性能优化:静态资源版本更新与缓存
  7. PKU A Simple Problem with Integers 3468
  8. Linux 添加新用户账号并赋予root权限
  9. SaaS软件服务优点全解析
  10. opengl顶点数据传送和着色器处理(vao,vbo)
  11. SSH框架的工作原理及流程
  12. c语言双人贪吃蛇小游戏代码,关于C 双人贪吃蛇显示的问题
  13. 优启通制作系统u盘_IT天空优启通(U盘PE制作助手)制作U盘PE启动图文教程
  14. 2019风向趋势分析报告——覆盖5G、人工智能、金融科技等领域
  15. Vision MLP(MLP-Mixer,RepMLP,ResMLP,gMLP,aMLP)
  16. 财务会计上的凭证冲销和SAP中的凭证冲销(红冲、蓝冲)
  17. 动态html函数的写法,如何将html div id的动态传递给js函数
  18. Unity2018新功能之2D Animation2D动画
  19. 封头名义厚度如何圆整_基于封头最小成形厚度的封头名义厚度的设计讨论
  20. 数据结构(C语言版)之栈及递归

热门文章

  1. pdf怎么合并在一起?软件操作更高效
  2. DBCO-PEG-NHS,NHS-PEG-DBCO,二苯并环辛炔-聚乙二醇-活性酯,DBCO-PEG衍生物
  3. DEVONthink Pro for Mac(mac文件管理工具)
  4. c语言80c51控制系统设计,基于AT89C51的国旗升降控制系统设计
  5. TortoiseSVN (Subversion客户端) 使用手册(中文) (六)
  6. JavaScript----marquee滚动标签 图片无缝滚动 插入百度地图
  7. data在python_python中的data[:, :-1]和data[:, -1]什么意思?
  8. win10的截屏方法
  9. Chrome浏览器无法安装
  10. Python一维列矩阵转换成行矩阵