Kubernates网络解决方案技术原理深入剖析-Kubernates商业环境实战

栏目: 编程工具 · 发布时间: 4年前

内容简介:本套技术专栏是作者(秦凯新)平时工作的总结和升华,通过从真实商业环境抽取案例进行总结和分享,并给出商业应用的调优建议和集群环境容量规划等内容,请持续关注本套博客。QQ邮箱地址:1120746959@qq.com,如有任何学术交流,可随时联系。

本套技术专栏是作者(秦凯新)平时工作的总结和升华,通过从真实商业环境抽取案例进行总结和分享,并给出商业应用的调优建议和集群环境容量规划等内容,请持续关注本套博客。QQ邮箱地址:1120746959@qq.com,如有任何学术交流,可随时联系。

1 Dokcer网络模型

Kubernates网络解决方案技术原理深入剖析-Kubernates商业环境实战

2 Kubernates网络模型

2.1 Flannel如何控制同一水平网络

  • Flannel是如何做到为不同Node上的Pod分配IP且不产生冲突的?因为Flannel使用集中的etcd服务管理这些地址资源信息,它每次分配的地址段都在同一个公共区域获取,这样自然能随时协调,避免冲突了。在Flannel分配好地址段后,接下来的工作就转交给 Docker 完成了。Flannel通过修改Docker的启动参数将分配给它的地址段传递进去。

    --bip=172.17.18.1/24
    复制代码

    通过这些操作,Flannel就控制了每个Node节点上的docker0地址段的地址,也能保障所有Pod的IP地址在同一水平的网络中且不产生冲突了

Kubernates网络解决方案技术原理深入剖析-Kubernates商业环境实战

2.1.1 Flannel内核原理

  • flannel利用Kubernetes API或者etcd用于存储整个集群的网络配置,其中最主要的功能为:设置整个集群的网络地址空间段。例如,设定整个集群内所有容器的IP都取自网段“10.1.0.0/16”。
  • flannel在每个物理主机中运行flanneld作为agent,它会为所在主机从集群的网络地址空间中(网段“10.1.0.0/16”),获取一个小的网段subnet,本主机内所有容器的IP地址都将从中分配(如:分配主机1网段:10.1.1.0/24,主机2网段:10.1.2.0/24)
  • flanneld再将本主机获取的subnet以及用于主机间通信的Public IP,同样通过kubernetes API或者etcd存储起来。
  • flannel利用各种backend mechanism,例如udp,vxlan,hostgw等等,跨主机转发容器间的网络流量,完成容器间的跨主机通信。

2.1.2 Flannel使用VXLAN协议网络原理

  • 每台物理主机都安装有flannel,假设k8s定义的flannel网络为10.0.0.0/16,各主机的flannel从这个网络申请一个子网。pod1所在的主机的flannel子网为10.0.13.1/24,pod2所在主机的flannel子网为10.0.14.1/24。

  • 每台主机有cni0和flannel.1虚拟网卡。cni0为在同一主机pod共用的网桥,当kubelet创建容器时,将为此容器创建虚拟网卡vethxxx,并桥接到cni0网桥。flannel.1是一个tun虚拟网卡,接收不在同一主机的POD的数据,然后将收到的数据转发给flanneld进程。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索

算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索

Sedgewick / 高等教育出版社 / 2002-1 / 49.00元

本书通过C++实现方案以简洁、直接的方式对书中的算法和数据结构进行表述,并向学生提供在实际应用中验证这种方法的手段。   本书广泛地论述了与排序、搜索及相关应用有关的基本数据结构和算法。覆盖了数组、链表、串、树和其他基本数据结构,更多地强调抽象数据类型(ADT)、模块化程序设计、面向对象程序设计和C++类。本书包括排序、选择、优先队列ADT实现和符号表ADT(搜索)实现,配有帮助学生学习计算......一起来看看 《算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码