[Kubernetes]谈谈容器跨主机网络】的更多相关文章

继上篇文章:[Kubernetes]浅谈容器网络,自己给自己挖的坑,这篇文章来谈谈容器跨主机网络. 要理解容器"跨主通信"的原理,就要来谈谈 Flannel 这个项目. Flannel 项目是 CoreOS 公司主推的容器网络方案.提供容器网络功能的,分别是: VXLAN , host-gw , UDP . 这三种不同的实现,代表了三种容器跨主机网络的主流实现方法.这里主要讲 VXLAN 和 UDP 模式. 先从 UDP 模式讲起. 假设,我有两台宿主机: 宿主机 Node 1 上有一…
flannel是由CoreOS研究的一种覆盖网络(overlay network)网络工具,目的是帮助每一个host主机有一个完整的子网: 功能是:让集群中不同节点的主机创建的容器都有一个唯一的虚拟IP 工作原理:将TCP数据包装在另一种网络包里进行路由转发和通信,目前已经支持UDP,Vxlan,AWS,APC和GRE等路由转发的模式.默认节点间通过UDP进行转发 1.安装配置etcd etcd功能:与consul的功能差不多,维护主机间的路由表,flannel的配置信息全部存放在etcd里面,…
前提:已部署好docker服务服务预计部署情况如下10.0.0.134 Consul服务10.0.0.135 host1  主机名mcw510.0.0.134 host2  主机名mcw6host1与host2通过Consul这个key-value数据库,来报错网络状态信息,用于跨主机容器间通信.包括Network.Endpoint.IP等.其它数据库还可以使用Etcd,Zookeeper 拉取镜像,运行容器 [root@mcw4 ~]$ docker run -d -p 8500:8500 -…
Calico是一个纯三层的虚拟网络方案,Calico为每个容器分配一个IP,每个host都是router,把不同host的容器连接起来.与vxlan不同的是:calico不对数据包进行封装,不需要NAT和端口映射,扩展性和性能都很好 与其他容器网络相比,calico还有一个优势:network policy.用户可以动态定义ACL规则,控制进出容器的数据包,实现业务需求 calico依赖etcd在不同主机间共享和交换信息,存储calico网络状态.calico网络中每个主机都要运行calico组…
前面已经学习了 Docker 的几种网络方案:none.host.bridge 和 joined 容器,它们解决了单个 Docker Host 内容器通信的问题.本章的重点则是讨论跨主机容器间通信的方案. 跨主机网络方案包括: docker 原生的 overlay 和 macvlan. 第三方方案:常用的包括 flannel.weave 和 calico. docker 网络是一个非常活跃的技术领域,不断有新的方案开发出来,那么要问个非常重要的问题了: 如此众多的方案是如何与 docker 集成…
一.实验环境 机器 操作系统 安装服务 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服务…
前言 在Docker网络--单host网络一文中,我为大家总结了Docker的单机网络相关知识和操作,单机网络比较容易.本文我为大家总结Docker跨主机通信相关知识.同样本文大部分内容以CloudMan的相关教程为基础. 一.Docker 跨主机通信 Docker跨主机网络方案包括: docker 原生的 overlay 和 macvlan. 第三方方案:常用的包括 flannel.weave 和 calico. docker 通过 libnetwork 以及 CNM 将上述各种方案与dock…
1.网络模式 docker支持四种网络模式,使用--net选项指定: host,--net=host,如果指定此模式,容器将不会获得一个独立的network namespace,而是和宿主机共用一个.容器将不会虚拟出自己的网卡,IP等,而是使用宿主机的IP和端口,也就是说如果容器是个web,那直接访问宿主机:端口,不需要做NAT转换,跟在宿主机跑web一样.容器中除了网络,其他都还是隔离的. container,--net=container:NAME_or_ID,与指定的容器共同使用网络,也没…
为支持容器跨主机通信,Docker提供了overlay driver,使用户可以创建基于VxLAN的overlay网络.VxLAN可将二层数据封装到UDP进行传输,VxLAN提供与VLAN相同的以太网二层服务,但是拥有更强的扩展性和灵活性. Docker overlay网络需要一个key-value数据库用于保存网络信息状态,包括Network,Endpoint,IP等.Consul,Etcd和Zookeeper都是docker支持的key-value软件,今天讨论的是consul 试验环境描述…
本节内容: Docker容器跨主机通信方案 环境信息 升级内核 安装docker 防火墙设置和开启内核转发 安装启动consul 启动Docker 创建overlay network 创建容器 测试容器跨主机通信 网络拓扑 抓包分析 一.Docker容器跨主机通信方案 实现跨主机的容器通信有很多种方案,需要看实际的网络状况,是云上环境,私有云环境,还是混合云环境:是否有SDN对网络做特殊控制等等.网络状况不一样,适用的方案也会不一样.比如有的环境可以使用路由的方案,有的却不能使用.不考虑网络模型…