序言
自从我们公开发布Kubernetes以来,已经有6年多的时间了。事实上,我是第一个向Kubernetes项目提交代码的人。(还记得那是为发布版本创建仓库的工作,因此它并不像听起来那么令人印象深刻。)虽然我们发布Kubernetes时便希望它能取得成功,但这个愿望当时并没有那么强烈。Kubernetes的成功基于一个庞大的社区,该社区是由一些优秀且热心的贡献者和一批现实世界中的实践者组成的。
我很荣幸能与本书的作者一起工作,我们共同创立创业公司(Heptio)的使命便是将Kubernetes带到一些典型的企业。Heptio的成功在很大程度上归功于我的同事们。我很感谢他们中的每一个人。他们努力与Kubernetes的用户建立直接联系,去解决用户所面临的现实问题。这本书总结了他们的实践经验,为想在生产环境中使用Kubernetes的团队提供所需的工具。
回想过去,我的整个职业生涯都在构建团队应用和开发人员协作系统,从微软的IE浏览器开始,到Windows Presentation Foundation,再到Google Compute Engine和Kubernetes的云服务。我一次又一次地看到那些构建平台的人受到我所说的“平台构建者诅咒”的困扰。该“诅咒”可以解释为:构建平台的人经常专注于在较长的时间跨度内构建一个能持续几十年的基础服务,但是这种专注却忽略了用户现在所遇到的问题。
打破“平台构建者诅咒”的唯一方法是积极地从我们这个构建者圈子之外去寻求信息,这就是Heptio现场工程团队(以及后来的VMware Kubernetes架构团队(KAT))所做的事情。除了帮助各行各业的客户成功使用Kubernetes之外,该团队还承担“将平台理论应用到现实中”的责任。
围绕Kubernetes和云原生计算基金会(CNCF)所建立的庞大生态系统只会使这个“诅咒”所描述的问题更加严重。这个生态系统既包括属于CNCF的项目,也包括一些其他的大型项目,我把这个系统描述为“美好的混乱”( beautiful chaos )。它就像是一个热带雨林,有不同程度的重复或完整的东西。此外,探索这个生态系统也像探索热带雨林一样,需要花费大量时间,并且伴随着风险。一些进入Kubernetes世界的新用户通常没有时间或能力成为这个大生态系统的专家。
本书描绘了该生态系统的各个部分,说明了一些工具和插件适合在何时使用,并演示了如何针对读者面临的问题选择合适的工具。这些建议不仅仅是告诉读者要使用某个特定的工具,更是一个大型知识框架,用于帮助读者理解一类工具如何解决问题,分析当前系统是否有问题,并熟悉不同解决方法的优势和劣势,进而提供实用的建议。对于那些希望将Kubernetes带入生产环境的团队来说,这些知识就像金子一样重要。
最后,我想向Josh、Rich、Alexander和John表示衷心的感谢。他们的实践经验让许多用户获得了成功,并且让我们对该项目有了更多的了解。现在,通过这本书,我们将为更多的用户提供重要的建议。
Joe Beda
VMware Tanzu首席工程师
Kubernetes的创造者之一
2021年1月于西雅图