Docker OpenvSwitch 应用部署

Docker OpenvSwitch 应用部署

安装部署OVS并建立GRE隧道

  • 节点1:192.168.1.198 容器网段:172.17.1.0/24
  • 节点2:192.168.1.199 容器网段:172.17.2.0/24

1、节点1节点2操作:修改docker 默认IP地址网段,主配置文件内修改配置参数。

vim /lib/systemd/system/docker.service

# bip参数设置IP地址 指定的是网关。
ExecStart=/usr/bin/dockerd --bip=172.17.2.1/24
# 重启服务
systemctl daemon-reload
systemctl restart docker

2、节点1节点2操作:安装OVS

yum -y install openvswitch bridge-utils

3、节点1节点2操作:启动openvswitch服务

# 启动服务
systemctl start openvswitch

4、节点1节点2操作:创建网桥并激活

# 1、创建网桥
ovs-vsctl add-br br0

# 2、激活网桥
ip link set dev br0 up

[[email protected] ~]# ifconfig
br0: flags=67<UP,BROADCAST,RUNNING> mtu 1500
inet6 fe80::f488:54ff:fe9e:5d98 prefixlen 64 scopeid 0x20<link>
ether 5e:87:fd:fe:3a:41 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11 bytes 866 (866.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

查看网桥

5、节点1节点2操作:将gre0虚拟接口加入网桥br0,并设置接口类型和对端IP地址(远程IP指定对端)

注:如果多台主机 需要配置多条策略。由于是点对点通信所以需要创建新的gre端口。

ovs-vsctl add-port br0 gre0 -- set Interface gre0 type=gre options:remote_ip=192.168.1.77
# 命令解析
ovs-vsctl add port 已创建网桥名称 端口名称 -- set Interface 端口名称 type=隧道类型 options:remote_ip=指定点对点的对端节点IP

6、节点1节点2操作:添加docker0网桥到OVS网桥br0

brctl addif docker0 br0

命令:ovs-vsctl show

3a4acf8f-1db3-4069-8fd8-8dd8e883e914
# 网桥名称
Bridge "br0"
# 端口名称
Port "br0"
# 类型
Interface "br0"
type: internal
Port "gre0"
Interface "gre0"
# 隧道类型
type: gre
# 对端点对点远程地址
options: {remote_ip="192.168.1.77"}
# 版本号
ovs_version: "2.0.0"

查看网桥信息

7、节点1节点2操作:添加静态路由

ip route add 172.17.0.0/16 dev docker0

[[email protected] ~]# route
Destination Gateway Genmask Flags Metric Ref Use Iface
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0

查看路由表

8、节点1节点2操作:验证互通:相互ping测试

docker run -it busybox

原文地址:https://www.cnblogs.com/xiangsikai/p/9901223.html

时间: 2024-10-19 18:30:53

Docker OpenvSwitch 应用部署的相关文章

基于docker、kubernetes部署openstack到atomic系统上

声明: 本人阅读笔记,翻译类文章仅作意译.如有不对之处,请指出. 需要更本源的理解,请自行阅读英文. 本博客欢迎转发,但请保留原作者信息! 博客地址:http://blog.csdn.net/halcyonbaby 新浪微博:寻觅神迹 内容系本人学习.研究和总结,如有雷同,实属荣幸! 基于docker.kubernetes部署openstack到atomic系统上 openstack的服务定义,是不是看起来很简洁? openstack的实际组件构成,是不是看起来很复杂? 所有的openstack

深入浅出Docker(四):Docker的集成测试部署之道

1. 背景 敏捷开发已经流行了很长时间,如今有越来越多的企业开始践行敏捷开发所提倡的以人为中心.迭代.循序渐进的开发理念.在这样的场景下引入Docker技术,首要目的就是使用Docker提供的虚拟化方式,给开发团队建立一套可以复用的开发环境,让开发环境可以通过Image的形式分享给项目的所有开发成员,以简化开发环境的搭建.但是,在没有Docker技术之前就已经有类如Vagrant的开发环境分发技术,软件开发者一样可以创建类似需求的环境配置流程.所以在开发环境方面,Docker技术的优势并不能很好

在Docker容器中部署Web应用

本文直接讲解如何在Docker容器中实战部署一个Web应用程序,关于Docker相关的概念和如何安装Docker请参考相关资料完成. 第一步:工具准备 演示如何在Docker容器中部署一个Java Web应用程序,需要准备的软件工具包括:jre,tomcat和webapp应用.另外,为了实现在容器启动时自动启动webapp,需要编写一个脚本工具完成该工作. 安装jre,请参考:http://www.wikihow.com/Install-Java-on-Linux 安装tomcat,请参考:ht

gerrit 基于docker实现的部署,包括nginx ssl、mysql

gerrit 基于docker容器的部署: 命令行启动 1.  启动mysql容器 sudo docker run --name mysql -d -v /gerrit_mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123qwezxc -e MYSQL_DATABASE=reviewdb -e MYSQL_USER=gerrit2 -e MYSQL_PASSWORD=gerrit mysql 2. 启动gerrit容器 sudo docker 

Docker 入门 到部署Web 程序

最近阿里的面试官问我Docker是做什么用的,我记得之前360和美团,京东的都问过,但是一直没时间看,最近有时间了,系统的学习了一下Docker,在此做一下记录,方便各位看官学习交流 一.Docker概述: Docker: 本意是码头工人,言外之意是集装箱: Java号称“一次编译,到处运行”,因为java虚拟机解决平台的兼容性问题,所以有java虚拟机的地方就能跑java代码: Docker是:“一次封装,到处运行”,因为docker决绝了应用环境的问题,安装了docker的平台就能跑“doc

spring-boot项目的docker集成化部署(一)

目录 spring-boot项目的docker集成化部署 前言 基本思路与方案 基本步骤 准备源码 服务器和基础环境 结语 1. 本文总结: 2. 后期优化: spring-boot项目的docker集成化部署 前言 据说流行的微服务和docker一起,更配哦!接下来,使用简单spring-boot项目演示docker的集成化部署的案例,在看过微笑的博客觉得不过瘾,自己动手,下面的方案与Devops的方式比较接近:希望搭建理解这种思路. 基本思路与方案 开发者push到git服务器 Jenkin

Docker Compose 一键部署Nginx代理Tomcat集群

Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [[email protected] ~]# tree compose_nginx_tomcat/ compose_nginx_tomcat/ ├── docker-compose.yml ├── mysql │   ├── conf │   │   └── my.cnf │   └── data ├── nginx │   ├── Dockerfile │   ├── nginx-1.12.1.tar.gz │  

Docker Macvlan 应用部署

Docker Macvlan 应用部署 MacVLAN有两种桥接模式 Bridge模式:不创建子接口的情况下直接去桥接物理接口.直接桥接到与宿主级的同网段. VLAN Bridge模式:创建子接口去桥接物理接口.可划分多个VLAN. Macvlan Bridge模式 容器专属网络 1.节点1节点2操作:创建macvlan网络 docker network create -d macvlan --subnet=172.100.1.0/24 --gateway=172.100.1.1 -o pare

基于Jenkins,docker实现自动化部署(持续交付)

前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此,传统的人工部署已经心有余而力不足.持续集成,持续部署,持续交互对于微服务开发来说,是提高团队整体效率不可或缺的一环.合理的使用CI,CD能够极大的提高了生产效率,也提高了产品的交互质量.本文不对三个概念做过多的介绍,有兴趣可以读读这篇文章:The Product Managers' Guide to