然而,即使使用 Docker 或其他容器技术,运行由数十甚至数百个不同的微服务组成的整个系统也有其自身的挑战。 Docker 仅负责将微服务打包到容器中,运行、扩展和升级/降级这些容器,尤其是在服务器集群上运行容器变得具有挑战性。值得庆幸的是,自从谷歌选择在容器中运行所有系统以来,他们十多年来已经遇到了这些困难。在 Google,他们开发了一个名为 Borg 的容器编排引擎。几年前,他们创建了一个名为 Kubernetes(或 Helmsman)的容器编排引擎的特殊开源版本。
那么,简而言之,什么是 Kubernetes(摘自 Kubernetes 网站:
Kubernetes 是一个开源平台,用于跨主机集群自动部署、扩展和操作应用程 银行数据 序容器,提供以容器为中心的基础设施。
通过 Kubernetes,
快速且可预测地部署您的应用程序。
动态扩展您的应用程序。
无缝推出新功能。
仅使用您需要的资源来优化硬件的使用。
我们的目标是建立一个组件和工具生态系统,减轻在公共和私有云中运行应用程序的负担。
本文不会详细介绍 Docker 和 Kubernetes,因为这些技术非常全面,需要专门的文章来介绍。然而,总的来说,Docker 和 Kubernetes 都专注于事物的运行时方面。开发软件、将其打包到 Docker 容器中、在 Kubernetes 集群中发布并对其进行适当的监控并不是 Docker 和 Kubernetes 平台的一部分。这是可以理解的,因为这些事情不是 Docker 和 Kubernetes 所做的。然而,这确实留下了一个需要弥补的差距,以使开发人员能够充分发挥生产力并进入我们在文章开头谈到的快速发布周期的世界。