docker容器网络方案原理
容器跨主机网络方案
- docker 原生的 overlay 和 macvlan
- 第三方方案:常用的包括 flannel、weave 和 calico
CNM
Container Network Model (CNM) 容器网络模型
libnetwork
libnetwork 是 docker 容器网络库 最核心的内容是其定义的 Container Network Model (CNM)这个模型对容器网络进行了抽象 由以下三类组件组成
Sandbox
Sandbox 是容器的网络栈,包含容器的 interface、路由表和 DNS 设置. Linux Network Namespace 是 Sandbox 的标准实现.Sandbox 可以包含来自不同 Network 的 Endpoint
Sandbox就是相当于一个独立的网络命名空间 每个容器都有一个独立的Sandbox
Endpoint
Endpoint 的作用是将 Sandbox 接入 Network. Endpoint 的典型实现是 veth pair 后面我们会举例. 一个 Endpoint 只能属于一个网络,也只能属于一个 Sandbox
Endpoint 相当于一根虚拟的网线
Network
Network 包含一组 Endpoint,同一 Network 的 Endpoint 可以直接通信。Network 的实现可以是 Linux Bridge、VLAN 等
Network 相当于一个交换机
网络结构分析
- 两个 Network:默认网络 “bridge” 和自定义网络 “my_net2”。实现方式是 Linux Bridge:“docker0” 和 “br-5d863e9f78b6”
- 三个 Enpoint,由 veth pair 实现,一端(vethxxx)挂在 Linux Bridge 上,另一端(eth0)挂在容器内
- 三个 Sandbox,由 Network Namespace 实现,每个容器有自己的 Sanbox
网络IO
容器网络模式
1.桥接
容器创建的虚拟网卡连接到docker0网桥
2.host模式
新创建的容器和宿主机共享一个网络
3.容器模式
新创建的容器和已经存在的一个容器共享网络空间 k8s的pod机制
4.none模式
5.overlay模式
overlay模式会在宿主机网络上加一个容器的虚拟服务网关
宿主机上的所有容器都是通过这个网关和外面进行通信
MACvlan物理网卡的混杂模式
当物理网卡工作在混杂模式下,物理网卡的MAC地址会失效。到达网卡的所有数据包都会被网卡接收
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhibhgje
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22