【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

5 个解决 Docker 网络问题的项目

  • 2014-10-24
  • 本文字数:1621 字

    阅读完需:约 5 分钟

Docker 是一个开源的应用容器引擎,它可以让开发者将自己的应用以及应用所依赖的内容打包到一个可移植的容器中,然后将该容器发布到任何流行的 Linux 机器上,也可以实现虚拟化。 Docker 彻底释放了虚拟化的威力,它让应用的分发、部署和管理都变得前所未有的高效和轻松,凭借着自己出众的能力,Docker 现在已经成为目前 IT 界创业者和创新者的宠儿。那么 Docker 是否已经足够完美了呢?答案当然是否定的,对于管理者和开发人员来说网络依然是 Docker 的一个痛点,如何管理 Docker 容器之间的交互和网络一直都充满了挑战。

为了解决网络的问题,有很多公司都开发了各自的产品以帮助开发者更方便地使用 Docker。Serdar Yegulalp 最近在 InfoWorld 上分享了一篇文章,介绍了这些项目中最重要的5 个,包括Weave、Kubernetes、CoreOS, Flannel、Pipework 以及SocketPlane,同时他认为这其中的部分项目将来可能会成为Docker 的组成部分。下面就让我们来了解一下这5 个项目。

Weave是由 Zett.io 公司开发的,它能够创建一个虚拟网络来连接部署在多台主机上的 Docker 容器。通过 Weave 所有的容器就像被接入了同一个网络交换机,那些使用网络的应用程序不必去配置端口映射和链接等信息。外部设备能够访问 Weave 网络上的应用程序容器所提供的服务,同时已有的内部系统也能够暴露到应用程序容器上。Weave 能够穿透防火墙并运行在部分连接的网络上。另外,Weave 的通信支持加密,所以用户可以从一个不受信任的网络连接到主机。如果你想了解更多与 Weave 相关的信息,或者查看相关源码,那么可以点击这里

Kubernetes是由 Google 推出的针对容器管理和编排的开源项目,它让用户能够在跨容器主机集群的情况下轻松地管理、监测、控制容器化应用部署。Kubernete 有一个特殊的与 SDN 非常相似的网络化概念:通过一个服务代理创建一个可以分配给任意数目容器的 IP 地址,前端的应用程序或使用该服务的用户仅通过这一 IP 地址调用服务,不需要关心其他的细节。这种代理方案有点 SDN 的味道,但是它并不是构建在典型的 SDN 的第 2-3 层机制之上。如果对此感兴趣可以阅读一下 Craig Matsumoto 在 sdncentral 上发表的这篇文章,或者点此查看源码。

Flannel之前的名字是 Rudder ,它是由 CoreOS 团队针对 Kubernetes 设计的一个覆盖网络工具,其目的在于帮助每一个使用 Kuberentes 的 CoreOS 主机拥有一个完整的子网。Kubernetes 会为每一个 POD 分配一个独立的 IP 地址,这样便于同一个 POD 中的 Containers 彼此连接,而之前的 CoreOS 并不具备这种能力。为了解决这一问题,Flannel 通过在集群中创建一个覆盖网络为主机设定一个子网。点此查看该项目的源码。

Pipework是由 Docker 的一个工程师设计的解决方案,它让容器能够在“任意复杂的场景”下进行连接。 Pipework Docker 的一个网络功能增强插件,它使用了 cgroups 和 namespacpace。点此查看该项目的源码。

SocketPlane目前仅停留在将“SDN 带给 Docker”的口号上,基本上没有实质性的工作。该项目的想法是使用和部署 Docker 一样的 devops 工具管理容器的虚拟化网络,同时为 Docker 构建一个相当于 OpenDaylight/Open vSwitch 的产品。听起来非常有前途,但是在 2015 年一季度之前我们无法看到任何产品。

对于以上项目,Serdar Yegulalp 在自己的文章中也发表了针对性的观点,他认为 Weave 是最好的起点,因为它通过一种直截了当的方法解决了当前大部分的问题。Kubernetes 也是一个比较好的起点,但是真要用起来可能并不是那么简单。而 Flannel 则最好是和 CoreOS 一起使用,同时它依赖于 Kubernetes。对于 Pipework,Serdar Yegulalp 认为它是一个临时的设计方案,很有可能会被抛弃。最后的 SocketPlane 则基本上是看看就行了,不要期望太高。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-10-24 01:4512349
用户头像

发布了 321 篇内容, 共 116.1 次阅读, 收获喜欢 18 次。

关注

评论

发布
暂无评论
发现更多内容

TE智库 |《中国通用大模型内容生成及安全性能力评测》报告发布,深度测评中国大模型玩家

TE智库

IPQ4019 VS IPQ4018 as example-how to choose a suitable WiFi solution?

wifi6-yiyi

IPQ4019 ipq4029 wifi5

结合线上线下环境,提供产品的服务...

Bonaparte

产品 产品经理 产品设计 产品思维 产品服务

Java框架——SSM框架增删改查

java易二三

SSM框架 java 编程

LLM Data Pipelines: 解析大语言模型训练数据集处理的复杂流程

Baihai IDP

人工智能 LLM 白海科技 数据集处理流程

点云标注在自动驾驶中的难点

来自四九城儿

深入探析数智时代下的分布式系统架构设计

不在线第一只蜗牛

AI 低代码 分布式架构 数智时代

点云标注在自动驾驶中的优化策略

来自四九城儿

创业大赛|第二届“金靴奔跑”创新创业大赛!

科兴未来News

Ubuntu 18.04系统编译安装Pure-Ftpd教程。

百度搜索:蓝易云

云计算 Linux ubuntu 运维 Pure-FTPd

学习SAFe大规模敏捷开发培训有什么好处?

顿顿顿

Scrum 敏捷开发 SAFe框架

几种验证端口开启的方法

林十二XII

粗粮细作,铁合金行业的节能降耗

用友BIP

冶金

软件开发必读!华为云软件开发生产线CodeArts深度体验指南

华为云PaaS服务小智

华为 软件开发 华为云

Python案例实现|租房网站数据表的处理与分析

TiAmo

Python 数据分析 爬虫

保护 TDengine 查询性能——3.0 如何大幅降低乱序数据干扰?

爱倒腾的程序员

数据库

高性能网络 SIG 月度动态:再获认可!3 位成员成为 Linux 内核社区 reviewer

OpenAnolis小助手

Linux 内核 高性能网络 龙蜥sig smc

云环境与服务器的四大区别简单聊聊

行云管家

云计算 云服务器 云环境

Ubuntu 18.04系统编译安装Apache教程。

百度搜索:蓝易云

Apache 云计算 Linux ubuntu 运维

Ubuntu 18.04系统编译安装MySQL 5.7教程。

百度搜索:蓝易云

MySQL 云计算 Linux ubuntu 运维

文心大模型3.5国际评测拿下7个满分,大二学生1分钟AI作画估值百万!

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 文心大模型

百度商业AI技术创新大赛区域赛落幕,各大高校科技新秀角逐复赛

百度Geek说

人工智能 百度 AIGC 企业号 7 月 PK 榜

如何更快地渲染?深入了解3D渲染性能的指南

Finovy Cloud

Java的异常处理

java易二三

异常处理 java 编程 #编程

【专业 TypeScript 实战】15 个高级技巧,开创卓越开发之路!

汽车之家客户端前端团队

告别传统人肉运维,实现360°可观测!奇点云数据存算引擎DataKun R2.0发布

Geek_2d6073

大型企业采购云管平台的需求是什么?选择哪家厂商好?

行云管家

云计算 企业上云 云管平台

IPQ5018|WIFI6|DR5018 vs DR5018M what's the difference?

wallyslilly

ipq5018

倪光南院士在 PingCAP 用户峰会的现场致辞

PingCAP

数据库 TiDB pingCAP

Ubuntu 18.04系统编译安装PHP教程。

百度搜索:蓝易云

php 云计算 Linux ubuntu 运维

HashMap | 利用白话文讲解其底层知识点

派大星

java 编程

5个解决Docker网络问题的项目_语言 & 开发_孙镜涛_InfoQ精选文章