论文部分内容阅读
摘要:互联网企业内部的数据规模正在经历爆炸式增长,由此带来的高昂的软硬件运营,维护成本以及系统运维难度的增加都促使企业对其数据中心的底层架构进行不断的升级。随着虚拟化技术的不断发展,总体上经历了从裸机到虚拟机,再到容器的架构演进。容器技术以其突出的优势强力地冲击着传统的虚拟化技术。本文重点介绍容器网络中跨主机容器间的网络通信问题。
关键词:容器技术;跨主机通信
中图分类号:TP31 文献标识码:A
文章编号:1009-3044(2020)15-0265-02
1Docker(容器技术)技术简介
1.1概述
Docker是一种轻量级的操作系统虚拟化技术,是使用Go语言实现的云开源项目,采用C/S架构。ContmlGroups(Cgroup)和Namespace是实现容器的最重要的两种技术,通过ControlGroups(Cgroup)进行资源控制,利用Namespace进行资源隔离,减少了对内存的占用,提升了资源利用率和10性能,推动了云计算的快速发展和应用部署方式的变革。
1.2 Docker两大组件
Docker主要包含两大组件:Docker镜像和Docker容器。镜像是Docker容器的基石,容器是鏡像的运行实例。
为了更好地资源共享,Docker镜像和容器均采用分层的储存结构,从图1可以看出,对于Docker中新的镜像,是从base镜像一层一层叠加生成的,无论添加,删除还是修改文件,所有对容器的改动都只会发生在容器层,而容器层下面的镜像层都是只读的。对于Docker容器,容器是动态的,可以随时启动、停止和移除。
1.3 Docker技术的优势
传统的虚拟化技术,如VMWare、KVM、Xen,是创建完整的虚拟机。为了运行应用,除了部署应用本身及其依赖,还要安装整个操作系统。
Docker在传统的虚拟化技术上,创新性地引人了容器镜像技术,Docker容器技术具有如下优势:
(1)更快速,更简单的交付和部署。
(2)更有效的虚拟化。
(3)更轻松的迁移和扩展。
(4)更简洁的管理。
(5)方便的镜像仓库。
2 Docker网络
2.1Docker网络的分类
Docker网络可以根据覆盖范围分为单个host上的网络和多个host的网络。
前者主要包括:None网络、host网络、bridge网络和user-de-fined网络。
后者网络方案主要包括:overlay和macvlan以及常用的第三方方案:flannel、weave和calico。而众多的方案是通过libnet_work以及CNM与Docker集成在一起的。
2.2 libnetwork
关键词:容器技术;跨主机通信
中图分类号:TP31 文献标识码:A
文章编号:1009-3044(2020)15-0265-02
1Docker(容器技术)技术简介
1.1概述
Docker是一种轻量级的操作系统虚拟化技术,是使用Go语言实现的云开源项目,采用C/S架构。ContmlGroups(Cgroup)和Namespace是实现容器的最重要的两种技术,通过ControlGroups(Cgroup)进行资源控制,利用Namespace进行资源隔离,减少了对内存的占用,提升了资源利用率和10性能,推动了云计算的快速发展和应用部署方式的变革。
1.2 Docker两大组件
Docker主要包含两大组件:Docker镜像和Docker容器。镜像是Docker容器的基石,容器是鏡像的运行实例。
为了更好地资源共享,Docker镜像和容器均采用分层的储存结构,从图1可以看出,对于Docker中新的镜像,是从base镜像一层一层叠加生成的,无论添加,删除还是修改文件,所有对容器的改动都只会发生在容器层,而容器层下面的镜像层都是只读的。对于Docker容器,容器是动态的,可以随时启动、停止和移除。
1.3 Docker技术的优势
传统的虚拟化技术,如VMWare、KVM、Xen,是创建完整的虚拟机。为了运行应用,除了部署应用本身及其依赖,还要安装整个操作系统。
Docker在传统的虚拟化技术上,创新性地引人了容器镜像技术,Docker容器技术具有如下优势:
(1)更快速,更简单的交付和部署。
(2)更有效的虚拟化。
(3)更轻松的迁移和扩展。
(4)更简洁的管理。
(5)方便的镜像仓库。
2 Docker网络
2.1Docker网络的分类
Docker网络可以根据覆盖范围分为单个host上的网络和多个host的网络。
前者主要包括:None网络、host网络、bridge网络和user-de-fined网络。
后者网络方案主要包括:overlay和macvlan以及常用的第三方方案:flannel、weave和calico。而众多的方案是通过libnet_work以及CNM与Docker集成在一起的。
2.2 libnetwork