【云原生】Docker网络Overlay搭建Consul实现跨主机通信

目录

1.overlay网络是什么?

实现overlay环境


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中常用的网络驱动程序之一,它提供了跨主机通信的能力,使得容器在分布式环境中能够方便地进行网络通信。

实现overlay环境

部署环境

主机名IP
consul192.168.2.5
node1192.168.2.6
node2192.168.2.7

 

1.在consul主机下载consul镜像

[root@localhost ~]# docker pull  progrium/consul

2.启动consul容器

[root@localhost ~]# docker run -d --restart always -p 8400:8400 -p 8500:8500 -p 8600:53/udp -h node1 progrium/consul -server -bootstrap -ui-dir /ui
3ae189bff461fc03e004598c399b5746085918a84effc0cea8c15306bfa53e3b

3.将三台主机防火墙关闭

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# iptables -F
[root@localhost ~]# iptables-save

4.在所有node上指定consul服务器选项

[root@localhost ~]# vi /usr/lib/systemd/system/docker.service 
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2376 --cluster-store=consul://192.168.2.5:8500 --cluster-advertise=ens33:2376
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker

注意:这里需要将docker版本降低才可以连接consul

[root@localhost ~]# yum -y remove docker-ce
[root@localhost ~]# yum -y install docker-ce-20.10.24-3.el7

5.完成后,在node上其中一个

[root@localhost ~]# docker network create -d overlay --subnet 192.168.6.0/24 --gateway 192.168.6.254 ov_net1

6.分别在两个节点上创建的overlay网络生成容器,验证overlay网络

#node1操作
[root@localhost ~]# docker run -it --name test1 --network ov_net1 busybox
​
#node2操作
[root@localhost ~]# docker run -it --name test2--network ov_net1 busybox

7.相互ping同网络

/ # ping 192.168.6.1
PING 192.168.6.1 (192.168.6.1): 56 data bytes
64 bytes from 192.168.6.1: seq=0 ttl=64 time=0.450 ms
64 bytes from 192.168.6.1: seq=1 ttl=64 time=0.272 ms
64 bytes from 192.168.6.1: seq=2 ttl=64 time=0.379 ms

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

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

相关文章

字符串函数及内存函数C语言

字符函数及内存函数 一.字符串函数函数1.strlen函数2.strcpy函数3.strcat函数4.strcmp函数5.strncpy函数6.strncat函数7.strncmp函数8.strstr函数9.strtok函数10.strerror函数 二.内存函数1.memcpy函数2.memmove函数3.memcpy函数4.memset函数 一.字符串函数函数 1.strlen函数 …

【程序员必须掌握哪些算法?】

一个程序员一生中可能会邂逅各种各样的算法,但总有那么几种,是作为一个程序员一定会遇见且大概率需要掌握的算法。今天就来聊聊这些十分重要的“必抓!”算法吧~ 常见算法介绍 本文所介绍的排序算法均以升序为例。 文章目录 常见算法介绍一 …

P106-100组A卡(R5 240)指南

P106-100组A卡(R5 240)指南 不建议小白尝试 不建议小白尝试 不建议小白尝试文章目录 P106-100组A卡(R5 240)指南资料合集硬件软件基础卸载所有原驱动安装驱动修改注册表自动调用——只改一个注册表手动调用——改两个注册表 劝退…

Qt中QMainWindow的相关介绍

目录 菜单栏 工具栏 状态栏: 停靠窗口: QMainWindow 是标准基础窗口中结构最复杂的窗口,其组成如下: 提供了菜单栏 , 工具栏 , 状态栏 , 停靠窗口 菜单栏:只能有一个,位于窗口的最上方 工具栏:可以有多…

攻不下dfs不参加比赛(十四)

标题 为什么练dfs题目为什么练dfs 相信学过数据结构的朋友都知道dfs(深度优先搜索)是里面相当重要的一种搜索算法,可能直接说大家感受不到有条件的大家可以去看看一些算法比赛。这些比赛中每一届或多或少都会牵扯到dfs,可能提到dfs大家都知道但是我们为了避免眼高手低有的东…

软件体系结构-KWIC索引系统

引言 KWIC作为一个早年间在ACM的Paper提出的一个问题,被全世界各个大学的软件设计课程奉为课堂讲义或者作业的经典。(From Wiki,FYI,D. L. Parnas uses a KWIC Index as an example on how to perform modular design in his pap…

MySQL(三)SQL优化、Buffer pool、Change buffer

MySQL系列文章 MySQL(一)基本架构、SQL语句操作、试图 MySQL(二)索引原理以及优化 MySQL(三)SQL优化、Buffer pool、Change buffer MySQL(四)事务原理及分析 MySQL(五&a…

自学数据结构和算法(5)

二叉树的遍历 分为先序、中序、和后序遍历。 这三种遍历都可以由递归序来得到: (1)先序遍历(也是二叉树的深度优先遍历)是第一次到某个结点才打印; (2)中序遍历是第二次到某个结…

谋合作、创新境 | 百度参观图为科技生产全链路

当代科技的发展不断催生出新的变革和机遇,百度作为全球顶尖的高科技公司,凭借其强大的创新基因,一直处于人工智能领域的最前沿。   近日,百度公司派出了一支专业团队来到了图为科技,对图为的研发技术及生产线进行了全…

《Maven实战》读后感

目录 一、一些思考1、为什么平时编写的Java项目也叫做Maven项目?2、平常的Java项目目录为什么长这样,可以改变目录结构吗?3、对于Maven项目来说,Maven能帮我们做什么?4、为什么一定需要Maven私服,不要行不行…

每天一道C语言编程:排队买票

题目描述 有M个小孩到公园玩,门票是1元。其中N个小孩带的钱为1元,K个小孩带的钱为2元。售票员没有零钱,问这些小孩共有多少种排队方法,使得售票员总能找得开零钱。注意:两个拿一元零钱的小孩,他们的位置互…

GoFrame v2.5 版本发布,企业级 Golang 开发框架

大家好啊,GoFrame 框架今天发布了 v2.5.0 正式版本啦!👏👏👏👏 本次版本主要是对已有功能组件以及开发工具上的改进工作。其中,开发工具新增了 gf gen ctrl 命令,以规范化定义、开发…