【云原生】Docker跨主机网络Overlay与Macvlan的区别

 

跨主机网络通信解决方案

  1. docker原生的overlay和macvlan

  2. 第三方的flannel,weave,calico

1.overlay网络

在Docker中,Overlay网络是一种容器网络驱动程序,它允许在多个Docker主机上创建一个虚拟网络,使得容器可以通过这个网络相互通信。

Overlay网络使用VXLAN(Virtual Extensible LAN)技术来实现多主机之间的通信。每个Docker主机上的容器都可以加入Overlay网络,并且它们可以像在同一台主机上一样进行通信,而不需要了解底层主机的网络配置。

当容器发送网络请求时,Overlay网络驱动程序将请求封装为VXLAN包,并通过底层主机的物理网络发送到目标容器所在的主机。目标主机上的Overlay网络驱动程序将VXLAN包解封,并将请求传递给目标容器。

Overlay网络具有以下特点:

  1. 跨主机通信:容器可以在不同的Docker主机上运行,并通过Overlay网络进行通信。

  2. 自动路由:Overlay网络驱动程序自动处理容器之间的路由,使得容器可以直接通过容器名称进行通信。

  3. 安全性:Overlay网络使用加密和身份验证来保护容器之间的通信,确保数据的安全性。

  4. 可扩展性:Overlay网络可以在多个主机上创建数千个容器,并且能够自动处理容器的动态添加和删除。

  5. 灵活性:Overlay网络可以与其他网络驱动程序(如Bridge、Host等)一起使用,以满足不同的网络需求。

Overlay网络是Docker中常用的网络驱动程序之一,它提供了跨主机通信的能力,使得容器在分布式环境中能够方便地进行网络通信。

2.macvlan网络

Macvlan是一个新的尝试,是真正的网络虚拟化技术的转折点。 Linux实现非常轻量级,因为与传统的Linux Bridge隔离相比,它们只是简单地与一个Linux以太网接口或子接口相关联,以实现网络之间的分离和与物理网络的连接。 Macvlan提供了许多独特的功能,并有充足的空间进一步创新与各种模式。 这些方法的两个高级优点是绕过Linux网桥的正面性能以及移动部件少的简单性。 删除传统上驻留在Docker主机NIC和容器接口之间的网桥留下了一个非常简单的设置,包括容器接口,直接连接到Docker主机接口。 由于在这些情况下没有端口映射,因此可以轻松访问外部服务。

在Docker中,Macvlan网络是一种容器网络驱动程序,它允许将容器直接连接到物理网络,使得容器可以拥有自己的MAC地址和IP地址,就像物理主机一样。

Macvlan网络驱动程序创建了一个虚拟网络接口,该接口与物理网络接口绑定,并通过桥接模式将容器连接到物理网络。每个容器都可以分配一个独立的MAC地址和IP地址,这使得容器可以直接与其他物理设备进行通信,而不需要进行端口映射或网络地址转换。

Macvlan网络具有以下特点:

  1. 直接连接到物理网络:容器可以与物理网络中的其他设备直接通信,无需进行NAT或端口映射。

  2. 独立的MAC地址和IP地址:每个容器都可以拥有自己独立的MAC地址和IP地址,与物理主机和其他容器完全隔离。

  3. 高性能:Macvlan网络驱动程序通过桥接模式将容器连接到物理网络,提供了接近物理网络性能的网络传输速度。

  4. 灵活性:Macvlan网络可以与其他网络驱动程序一起使用,如Bridge、Overlay等,以满足不同的网络需求。

  5. 适用于特定场景:Macvlan网络适用于需要容器与物理网络直接通信的场景,如容器作为物理主机的一部分运行、网络设备虚拟化等。

需要注意的是,Macvlan网络需要在宿主机上进行一些网络配置,包括创建虚拟网络接口、配置子网和网关等。因此,在使用Macvlan网络时需要具备一定的网络知识和权限。

总的来说,Macvlan网络是一种直接连接到物理网络的容器网络驱动程序,它提供了高性能和灵活性,适用于需要容器与物理网络直接通信的场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

氢辉能源|[4GW]质子交换膜产线投产发布会暨[3MW]PEM电解槽正式交付

2023年7月12日下午,氢辉能源(深圳)有限公司(以下简称氢辉能源)质子交换膜产线投产发布会暨12台50标方3MW电解槽交付仪式在深圳市龙岗区国际低碳城成功举办。 此外,氢辉能源与远景能源、润世华集团、宏洲新能…

【MySQL】MySQL里程碑

个人主页:【😊个人主页】 系列专栏:【❤️MySQL】 文章目录 时间表从产品特性的角度梳理其发展过程中了解MySQL里程碑事件 时间表 从产品特性的角度梳理其发展过程中了解MySQL里程碑事件 1995年,MySQL 1.0发布,仅供内…

2.4 文件与文件系统

文章目录 2.4 文件与文件系统介绍文件的概念文件系统文件操作文件权限和所有权文件路径文件系统管理总结 2.4 文件与文件系统 介绍 在运维工作中,文件和文件系统是非常重要的概念。本文将介绍文件和文件系统的基本概念,以及在运维中常见的文件操作和管…

MongoDB负载均衡集群监控

对负载均衡的集群监控,不仅仅集中在对集群所有的资源、服务等进行监控,还要兼顾整体逻辑。以MongoDB高可用负载均衡集群为例,对逻辑层面的监控,就是模拟用户行为,访问集群数据,判断运行状态是否正常。 Mong…

opencv 图像基础处理_灰度图像

opencv 学习2_灰度图像 二值图像表示起来简单方便,但是因为其仅有黑白两种颜色,所表示的图像不够细腻。如果想要表现更多的细节,就需要使用更多的颜色。例如,图 2-3 中的 lena 图像是一幅灰度图像, 它采用了更多的数值…

第八十五回:如何使用字体图标

文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了Icon这种Widget,本章回中将介绍 如何使用字体图标。闲话休提,让我们一起Talk Flutter吧。 概念介绍 本章回中介绍的字体图标是指Icon中使用特殊的字体来充当图标,字体图标可以看作…

极简websocket实时聊天

在线体验链接:http://47.242.53.5:888/ 项目git地址:https://gitee.com/xiao-ming-1999/websocket-server.git 实现步骤: 在前端创建WebSocket连接:在Vue组件中使用vue-native-websocket库或原生的WebSocket API来创建WebSocket…

简单线性回归评估指标+R Squared

使得每一个数据集尽可能的小 均方误差MSE:(平方和取平均值) 均方根误差RMSE:(平方和取平均值开根号):平均误差值 平均绝对误差MAE:(绝对值取平均)&#xff1a…

Vue3通透教程【十八】TS为组件的props标注类型

文章目录 🌟 写在前面🌟 回顾defineProps的基础写法🌟 defineProps的TS写法🌟 withDefaults方法🌟 拓展🌟 写在最后 🌟 写在前面 专栏介绍: 凉哥作为 Vue 的忠实 粉丝输出过大量的 …

内网安全:内网穿透详解

目录 内网穿透技术 内网穿透原理 实验环境 内网穿透项目 内网穿透:Ngrok 配置服务端 客户端配置 客户端生成后门,等待目标上线 内网穿透:Frp 客户端服务端建立连接 MSF生成后门,等待上线 内网穿透:Nps 服…

【Linux】- Linux 磁盘分区、挂载

Linux 磁盘分区、挂载 1.1 Linux 分区1.2 硬盘说明1.3 磁盘情况查询 1.1 Linux 分区 原理介绍 Linux 来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux 中每个分区都是用来组成整个文件系…

使用 Certbot 并设置自动续期 SSL 证书

使用 Certbot 并设置自动续期 SSL 证书 步骤: 安装 Certbot:使用命令安装 Certbot: sudo yum install certbot获取 SSL 证书:运行 Certbot 命令来获取并安装 SSL 证书。 示例命令,替换其中的域名和路径信息&#xff1…

axios跨域写了withCredentials还是取不到值

axios发送跨域请求,设置请求头为: axios.default.withCredentials true之后,session还是取不到值。 通过后台的输出课间,sessionId不一致。 解决方法: 跨域请求的ip地址,不能写localhost。 比如&#…

Mac搭建安卓模拟器(支持M1/M2)

引言 最近在研究Vue打包成app,给我的报价器搞一个移动端,奈何没有安卓手机用于测试。所以想到安装一个安卓模拟器。 看了下目前主流的安卓模拟器基本都不支持Mac版本。网易的mumu目前来看还是只支持Intel芯。 1. 简单版(仅M系)…

BigTable:一个针对结构化数据的分布式存储系统----论文摘要

目录 摘要 1. 介绍 2. 数据模型 行 列族 时间戳 3. API 4. 所需构件 5. 实现 5.1 Tablet的位置 5.2 Tablet分配 5.3 Tablet服务 5.4 压实(Compactions) 6. 优化 本地化分组 压缩(compression) 通过缓存提高读操作的性能 Bloom过滤器 C…

数据库查询速度上不去的查询和分析

主要原因 数据库查询速度上不去、阻塞是指在并发访问 MySQL 数据库时,某个事务占用了资源并且长时间不释放,导致其他事务无法执行或执行缓慢的情况。MySQL 阻塞可能会导致数据库性能下降,甚至出现死锁等问题,需要马上进行处理。在 MySQL中,线程阻塞可能是由于以下原因导致…

基于人工智能与边缘计算Aidlux的鸟类检测驱赶系统(可修改为coco 80类目标检测)

●项目名称 基于人工智能与边缘计算Aidlux的鸟类检测驱赶系统(可修改为coco 80类目标检测) ●项目简介 本项目在Aidlux上部署鸟类检测驱赶系统,通过视觉技术检测到有鸟类时,会进行提示。并可在源码上修改coco 80类目标检测索引直…

数据结构专题2

数据结构专题2 - step 1 线段树 1. Cube - HDU 3584 三维的空间中有 n n n 个元素&#xff0c;初始时每个空间元素均为0。更新操作是0变1&#xff0c;1变0&#xff0c;是一个立方体型区域内的所有元素都更新。然后查询是问某个点的元素是0还是1. ( 1 < n < 100 , m…

java 处理mysql获取树形的数据 带级别和子集数量

要求&#xff1a; 获取数据生成树形数据后&#xff0c;要求返回返回层级&#xff08;level&#xff09;和子集(childCount)的个数&#xff0c;便于前端处理。 处理&#xff1a; 1&#xff0c;在遍历的时候&#xff0c;进行处理。 &#xff08;适合内部调用&#xff09; 2&am…

Java日期操作类

Java中的日期操作类提供了丰富的日期和时间操作功能&#xff0c;可以帮助我们方便地处理日期和时间。本篇技术博客将详细介绍Java日期操作类的定义、使用和示例代码。 Java日期操作类 Java中的日期操作类主要有以下几个&#xff1a; java.util.Datejava.util.Calendarjava.t…