Skip to content

Latest commit

 

History

History
48 lines (27 loc) · 4.54 KB

preface.md

File metadata and controls

48 lines (27 loc) · 4.54 KB

前言

  当您开始构建您第一个容器化应用程序时,您肯定会对容器技术所带来的前所未有的体验感到兴奋:使用容器镜像, 容器技术可以轻松地在开发和生产环境中一致地运行程序而无需额外的工作,容器镜像的分发由容器镜像仓库统一进行管理。

  如今,您会对容器技术所带来的体验感到十分满意:例如您可以轻易地将你的Python应用容器连接到另一个数据库容器(例如PostgreSQL);借助于编排工具,您可以不需要手动管理容器,所有管理工作由编排工具完成,例如编排工具负责检查容器是否仍在运行,如果没有,则会重新启动它们。

  在这个时候,您可能会意识一个挑战,那就是容器网络。不幸的是,这个领域仍然在不断地演进中,而且目前关于容器网络较为系统全面的文档比较匮乏。幸运的是,互联网上有大量关于容器网络的文章,repository和实践分享,通过这本书,您可以比较系统全面深入了解容器网络同时方便地访问其中许多优秀的文章。

我为什么写这本书

  我常想:如果有人写了一本为容器网络提供基本指导的书,为读者指出每个相关技术(如覆盖网络,容器网络接口(CNI)和负载平衡器)的正确方向那该是极棒的!

  不曾想那个人竟然是我。 通过本书,我想向您介绍有关容器网络,容器编排和服务发现的挑战和可用解决方案的概述。 在本书中,我将首先提出以下三个观点:

  • 如果没有正确深入理解容器网络,那么在采用容器技术后您肯定会不止一天遇到有关容器网络的糟糕情况,正所谓千里之行始于足下。
  • 服务发现和容器编排是一枚硬币的两面。
  • 容器网络和相应的服务发现技术领域仍然是比较年轻的:您可能会发现自己刚开始使用一套技术,然后新的技术就出现了并不得不尝试新的技术。 别担心,在容器技术领域这是正常的。

本书的目标读者

  如果您是以下其中的某类读者群体,您将会发现该书很有用:

  • 容器软件开发人员
  • 网络运维人员
  • 渴望学习容器技术的SRE(网站可靠性工程师)
  • 想把现有工作负载迁移到容器环境的软件架构师

  最后,分布式应用程序开发人员和后端工程师也应该能够从中得到收获。

  请注意,这不是一本实操手册。 除了第2章中的一些Docker网络工具以及第7章中关于Kubernetes的一些资料之外,我没有展示更多的命令或源代码。 考虑这本书更像是一本指南(一本有大量注释的书签收藏夹), 希望它能帮你做出明智的决策在您进行容器化应用改造的时候。

个人简介

  我目前就职于Red Hat的OpenShift团队,在那里我帮助他们充分利用软件。 我主要关注于容器技术的上游Kubernetes社区中,例如Autoscaling,Cluster Lifecycle和Apps 等特别兴趣小组(SIG)。

  在2017年初加入Red Hat之前,我曾在Mesosphere工作过两年,在那里我也做过容器。我还拥有数据工程背景,曾在Mesosphere之前担任过MapR公司的首席数据工程师,主要负责分布式查询引擎,数据存储以及构建数据管道等工作。

  最后,我是一位实用主义者,并且在整本书中竭尽全力确保对本书所讨论的技术不偏不倚。

致谢

  首先非常感谢O'Reilly团队,尤其是Virginia Wilson。感谢您对本书第一版的指导和反馈(当时称为Docker网络与服务发现),该书于2015年发布,同时在本书的编写过程中您再次给予了我很大的支持与帮助。

  非常感谢HashiCorp的Nic Jackson!

  非常感谢Weaveworks的Bryan Boreham!您提供了超级宝贵的反馈意见,我很欣赏您关于流程的建议,您的勤勉,您对细节的关注,在我迷迷糊糊的时候或犯错时电话叫我出去放松。Bryan是一位容器网络网络专家,这也是本书在最终版本中读起来非常好的主要原因(我认为)。

  最后但同样重要的是,我对给予我莫大支持的家庭表示最深切的感谢:我们的两个女儿Saphira和Ranya(他们的才能从Scratch编程到爱尔兰橄榄球),我们的儿子Iannis,还有我那个邪恶而又有趣的妻子Anneliese(我是否清空了洗衣机?不知道!)。