docker1.9 network跨主机安装】的更多相关文章

背景:在跨host中,如果docker任何一个重启或者销毁,docker暴露的端口以及ip将可能重新配置,这个时候需要重新记录ip跟端口.在生产环境中往往需要一个固定的ip以及端口去跟容器通信.例如mysql跟php配置,如果在php配置里面写了mysql配置如10.0.0.1:3306如果mysql在不同host里面不能使用link,这个时候mysql需要重启,造成ip以及端口改变,现在只能修改用户php里面配置. 解决方案:通过docker network可以解决这个问题 架构设计:netw…
flannel是由CoreOS研究的一种覆盖网络(overlay network)网络工具,目的是帮助每一个host主机有一个完整的子网: 功能是:让集群中不同节点的主机创建的容器都有一个唯一的虚拟IP 工作原理:将TCP数据包装在另一种网络包里进行路由转发和通信,目前已经支持UDP,Vxlan,AWS,APC和GRE等路由转发的模式.默认节点间通过UDP进行转发 1.安装配置etcd etcd功能:与consul的功能差不多,维护主机间的路由表,flannel的配置信息全部存放在etcd里面,…
flannel是CoreOS开发的容器网络解决方案,flannel为每一个host分配一个subnet,容器从这些subnet中分配IP,这些IP可以在host之间路由,容器无需NAT和port mapping就可以跨主机通信. 每个subnet都是一个更大的IP池中划分的,flannel会在每个主机上运行一个叫flanned的agent,其职责就是从池子中分配subnet.为了在个主机之间共享,flannel用etcd(与consul类似的key-value分布式还素据库)存放网络状态,已分配…
除了ovrlay,docker还开发了另一个支持跨主机容器的driver:macvlan macvlan本身是linu kernel模块,其功能是允许在同一物理网卡上配置多了MAC地址,即:多个interface,每个interface可以配置自己的ip.macvlan本身是一种网卡虚拟化技术,Docker用macvlan实现容器网络就不奇怪了 macvlan最大的优点是性能极好,相比其他方案,macvlan不需要创建Linux bridge,而是直接通过以太interface连接到物理网络.…
为支持容器跨主机通信,Docker提供了overlay driver,使用户可以创建基于VxLAN的overlay网络.VxLAN可将二层数据封装到UDP进行传输,VxLAN提供与VLAN相同的以太网二层服务,但是拥有更强的扩展性和灵活性. Docker overlay网络需要一个key-value数据库用于保存网络信息状态,包括Network,Endpoint,IP等.Consul,Etcd和Zookeeper都是docker支持的key-value软件,今天讨论的是consul 试验环境描述…
一.实验环境 机器 操作系统 安装服务 172.16.4.36 centos7 docker etcd flannel 172.16.4.37 centos7 docker etcd flanne (以上环境中:docker已安装好) 二.Flannel网络原理 Flannel是CoreOS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址. 但在默认的Docker配置中,每个节点上的Docker服务…
从业务数据的角度看,容器可以分为两类:无状态(stateless)容器和有状态(stateful)容器. 无状态:是指容器在运行的过程中不需要保存数据,每次访问的结果不依赖上一次的访问,比如提供静态页面的web服务器. 有状态:是指容器需要保存数据,而且数据会发生变化,访问的结果依赖之前的请求的处理结果,最典型的就是数据库服务器. 状态就是:数据,如果容器需要处理并存储数据,他就是有状态的,反之则无状态 对于有状态的容器,如何保存数据呢? 我们之前学习了data volume可以存储容器的状态,…
Weave是weaveworks开发的容器网络解决方案.weave创建的虚拟网络可以将部署在多个主机上的容器连接起来.对于容器来说,weave就像一个巨大的网络交换机,容器可以直接通信,无需NAT和端口映射.除此之外,weave的DNS模块是容器可以通过hostname访问 weave不依赖分布式数据库(例如:consul和etcd)交换网络信息,每个主机上只需要运行weave组件就能建立起跨主机容器网络,weave网络能够穿透防火墙并运行在部分连接的网络上,weave支持加密网络接连,用户可以…
之前学习了单个host上的网络,我们知道单个host上的网络有:none,host,bridge和joined,他们解决了单个host上面的容器通信的问题:接下来我们讨论跨主机间容器通信的方案 跨主机的网络方案包括: 1.docker原生的overlay和macvlan 2.第三方方案:常用的包括flannel,weave,calico docker 网络是一种非常活跃的技术领域,不断有新方案开发出来: 这么多的方案是通过:libnetwork以及CNM与docker集成在一起的 libnetw…
Docker容器的跨主机连接 Docker容器的跨主机连接 使用网桥实现跨主机容器连接 网络拓扑 网络连接使用的是Bridge 操作 修改/etc/network/interfaces文件,分配静态IP地址 1.auto br02.iface br0 inet static3.address 10.211.55.34.netmask 255.255.255.05.gateway 10.211.55.16.bridge_ports eth0 修改/etc/default/docker文件,限定分配…