什么是容器网络?
容器网络是一种新兴的应用沙箱机制,用于家庭桌面和 Web 级企业网络连接解决方案,其概念与虚拟机类似。容器内部是一个功能齐全的 Linux 环境,与主机和所有其他容器隔离,具有自己的用户、文件系统、进程和网络体系。容器内的所有应用只能访问或修改容器内的可用文件或资源。
可以同时运行多个容器,每个容器都有自己的安装实例和依赖项。这在较新版本的应用可能需要升级依赖项的情况(可能会导致与服务器上运行的其他应用依赖项发生冲突)下,特别有用。与虚拟机不同,各容器共享主机资源,而不是完全模拟计算机上的所有硬件,这使得容器比虚拟机更小、更快,并且降低了开销。特别是在 Web 级应用环境中,容器可替代虚拟机成为微服务体系架构的部署平台。
容器还具有移动性,例如,容器引擎 Docker 允许开发人员将容器及其所有依赖项打包在一起。然后,便可以下载该容器软件包了。下载后,容器即可立即在主机上运行。

VMware Container Networking with Antrea 产品介绍

宣布推出 Mware Container Networking with Antrea for Kubernetes
容器网络的工作原理是怎样的?
容器网络是虚拟化的一种形式,在概念上类似于虚拟机 (VM),但和虚拟机有区别。首先,与虚拟机是硬件虚拟化的一种形式不同,容器方法是操作系统虚拟化的一种形式。
在 Hypervisor 上运行的每台虚拟机都有自己的操作系统、应用和库,并且能够封装持久性数据、安装新操作系统、使用与主机不同的文件系统,或使用不同的内核版本。
相反,容器是镜像临时操作系统虚拟化的“运行实例”,可启动以执行某些任务,然后即会被删除和遗忘。由于容器的临时性,相比需要更大地址空间的虚拟机,系统用户运行的容器实例要多得多。
若要创建隔离,容器依赖于以下两个 Linux 内核功能特性:Namespace 和 cgroup。为了使容器拥有自己的系统视图,将其与其他资源隔离开来,我们为每个资源分别创建了一个 Namespace,并且不与其余系统共享。然后,使用控制组 (Cgroup) 来监控和限制系统资源,如 CPU、内存、磁盘 I/O、网络等。
容器网络的优势
容器正被迅速采用,替代虚拟机成为微服务平台。
容器具有以下几个主要优势:
- 将容器化应用和现有工作负载一起运行:计算机可以与传统虚拟机一起在同一基础架构上运行容器化应用,从而提高灵活性和速度。
- 将移动性与安全性、可见性及管理功能相结合:由于容器的固有设计,利用它,可以通过沙箱、主机资源透明化、任务管理和执行环境移动性来提高安全性。
- 利用现有基础架构并轻松扩展:使用现有的 SDDC 可避免成本高昂且耗时的基础架构重新构建,这种构建会导致出现孤立小环境 - 当同一企业内的不同部门分别维护自己的 IT 基础架构时,就会出现孤立小环境。由于每个部门的技术配置存在差异,这种“孤立小环境效应”会在实施企业级 IT 策略和升级时带来问题。重新集成孤立小环境是一个成本高昂且耗时的过程,通过容器网络即可避免此过程。
- 为开发人员提供与 Docker 兼容的接口:已经熟悉 Docker 的开发人员可通过使用一个兼容 Docker 的接口在容器中开发应用,并通过自助管理门户或 UI 置备它们。
在 Web 级应用部署中使用容器网络
容器作为微服务体系架构的一部分部署在企业环境中,以帮助封装大型 Web 应用的各个常见任务。每个任务都可能有自己的容器,面向外部的容器(如 API 和 GUI)向公共 Internet 开放,其他容器将驻留在专有网络上。
微服务模式具有以下优势:
- 易于部署:主机配置可以嵌入到容器中,使它们在部署后即可使用。
- 一次性:容器可快速启动,并且是一次性的。如果主机发生故障,使应用重新上线就像使用备用服务器一样简单。
- 容错:容器可以轻松地为数据库和 Web 服务器创建冗余。将同一容器复制到多个节点上可实现高可用性和容错。
容器网络的类型
目前使用的容器网络有五种类型,它们的特征集中体现在以下方面:按容器分配 IP 而不是按 Pod 分配 IP,并且需要网络地址转换 (NAT) 而不是无需转换。
- 无:容器接收网络体系;但是,它缺乏外部连接。此模式对于以下任务非常有用:测试容器、为以后的网络连接暂存容器,以及分配给不需要外部通信的容器。
- 桥接:在内部主机网络上桥接且可以与同一主机上的其他容器进行通信的容器。无法从主机外部访问容器。桥接网络是 Docker 容器的默认设置。
- 主机:此配置允许所创建的容器共享主机的网络 Namespace,从而授予容器对主机的所有网络接口的访问权限。这是最简单的外部网络配置,由于共享使用网络接口,因此这种类型容易发生端口冲突。
- 底层:底层容器网络直接向主机上运行的容器开放主机接口,消除了进行端口映射的需要,因此比桥接容器网络更高效。
- 叠加:叠加容器网络使用网络隧道跨主机进行通信,使容器在托管在不同主机上时可以像位于同一台计算机上一样运行。
相关解决方案和产品
Antrea
签名镜像和二进制文件,以及对 Antrea 项目的全面企业级支持
连接容器和 Kubernetes
连接并保护您的容器化应用和微服务。
虚拟云网络
借助虚拟云网络在您的数据中心内获得公有云体验