当前位置: 首页 > news >正文

k8s node之间是如何通信的?

承接上文

同一个node中pod之间如何通信?

单一Pod上的容器是怎么共享网络命名空间的?

每个node上的pod ip和cni0网桥ip和flannel ip都是在同一个网段10.1.71.x上。

cni0网桥会把报文发送flannel这个网络设备上,flannel其实是node上的一个后台进程,它将整个k8s的node网络地址分成一块一块的。每个node的网段是互相不重叠的。

flannel network是10.1.0.0,10.1是整个集群总的网段,给每个node使用ip地址的第三位即给每个node再划分网段,每个node再用具体划分的网段再给pod分配ip地址。

pod和pod之间的通信,如果是在同一个node上,就使用cni这个网桥进行报文的转发;如果去连接别的node上的pod,那么就会通过flannel网络设备。

flannel使用的是vxlan(虚拟扩展网络)。

k8s集群中有2个node,一个是ubantu,一个是centos

ubantu的网段是10.1.62,centos网段是10.1.71

在当前的node上会有一个flannel damon来控制整个网段的分配,

有一个flannel的网络设备,它使用的网段就是当前node的网段,用来做报文的转发;flannel在维护整个网络空间上,连接到了k8s的etcd,每当有新的node加入,就会在etcd中注册上新的信息,

在etcd的这个目录network/config下flannel配的这个信息表示flannel给整个集群的网段是10.1,当有新的node加入到这个集群当中就会有新的目录产生,

2个node,2个目录,

看下里面的内容,flannel看当前使用的是这个网段对外的ip是10.211.55.12,

这个ip地址跟当前的node对外的网络设备的ip地址是一样的;flannel虚拟出来了一组ip,然后进行node和node之间通信的时候,它实际上是通过node上实际的网络设备的ip地址进行路由。

看下路由信息,

如果是这个网段就通过flannel这个设备进行转发;

node与node之间是如何通信的?

采用了扁平化的网络,这个网络的维护是flannel的demon,有新的node加入进来,通过etcd注册并分配这个node相应的网络空间,并且通知后台的damon用来控制报文的转发。

http://www.lryc.cn/news/22174.html

相关文章:

  • System V|共享内存基本通信框架搭建|【超详细的代码解释和注释】
  • 魔兽世界WoW注册网站搭建——-Liunx
  • OSG三维渲染引擎编程学习之六十八:“第六章:OSG场景工作机制” 之 “6.8 OSG内存管理”
  • 字节前端必会面试题(持续更新中)
  • 内存数据库-4-[redis]在ubuntu中离线安装
  • 并非从0开始的c++ day8
  • ubuntu下用i686-w64-mingw32交叉编译支持SDL、Openssl的ffmpeg库
  • 对IDEA中断点Suspend 属性理解
  • IM即时通讯开发如何解决大量离线消息导致客户端卡顿的
  • 【软件测试】测试老鸟的迷途,进军高级自动化测试测试......
  • HMM(隐马尔科夫模型)-理论补充2
  • 【分布式系统】MinIO之Multi-Node Multi-Drive架构分析
  • 【无标题】(2019)NOC编程猫创新编程复赛小学组真题含参考
  • 【尚硅谷MySQL入门到高级-宋红康】数据库概述
  • SpringBoot集成Redis并实现数据缓存
  • SpringBoot配置文件(properties yml)
  • css 画图之质感盒子
  • 面了一个月,终于让我总结出了这份最详细的接口测试面试题
  • {新}【java开发环境安装】完整工作环境安装配置
  • Python|每日一练|数组|数学|图算法|字符串|动态规划|单选记录:加一|迷宫问题|扰乱字符串
  • MySQL 使用IF判断
  • C++类与对象(上)【详析】
  • AIR系列|板载LED|gpio引脚选择|GPIO|流水灯|LuatOS-SOC接口|官方demo|学习(20-1):GPIO库基础
  • MySQL数据库中的函数怎样使用?
  • 命名空间的使用大全
  • Redisson分布式锁和同步器详解-官方原版
  • 【C语言进阶】指针与数组、转移表详解
  • SDN是什么,和SD-WAN有什么关系
  • 百度前端高频react面试题(持续更新中)
  • 中级嵌入式系统设计师2016下半年下午应用设计试题