虽然Kubernetes仍然是一项相对年轻的技术,但已迅速被世界各地的IT组织采用。Gartner曾预测,到2022年,一半的企业核心服务将在容器编排环境中运行。
事实证明情况已经如此。根据谷歌趋势的数据,Kubernetes处于2014年开源以来的最受欢迎的程度。本文将解释为什么Kubernetes很重要,它是如何工作的,以及未来的挑战,主要是围绕安全性和可扩展性。
1. Kubernetes的历史和发展
谷歌于2014年启动了Kubernetes项目。谷歌很早以前就在其生产环境中使用了容器,并开发了一个名为Borg的内部容器管理系统,这启发了Kubernetes。2014年6月,谷歌宣布将Kubernetes开源。2015年3月,谷歌与红帽、CoreOS等公司合作成立了云原生计算基金会(CNCF)。CNCF是Kubernetes和其他云原生技术(如Prometheus和Envoy)的伞式组织。
以下是使用Kubernetes的一些普遍好处:
(1)轻松跨集群部署—Kubernetes提供的最大优势之一是跨集群部署。这意味着开发人员可以在他们想要的任何云提供商上部署他们的应用程序,这为他们提供了很大的灵活性,同时也使部署变得简单。
(2)易于扩展的应用程序——Kubernetes提供的另一个巨大优势是其可扩展性。随着流量的波动,开发人员可以轻松地按需扩展或缩小,使其成为应用程序部署的多功能工具。
(3)高可用性—此功能允许企业确保所有应用程序在不同地区高度可用。
(4)自我修复—当应用程序崩溃或卡在节点上时,Kubernetes会自动用新的pod替换它们,因此应用程序不会停机。
(5)负载平衡—通过负载平衡功能,所有容器都可以根据需要获得相等的CPU和内存资源。因此,它平衡了集群中运行的所有容器的负载。
Kubernetes自2014年以来一直存在,那么为什么2022年被称为“Kubernetes年”?
Kubernetes为开发人员提供了大规模部署和管理应用程序的所有必要工具。这项服务非常适合希望根据部署中的容器数量或节点数量进行扩展的团队。
尽管Microsoft Azure、VMware和Google Cloud已经提供该服务一段时间,但AWS宣布将在2022年增加对Kubernetes的全面支持。
AWS(亚马逊网络服务)已正式确认,他们将在2022年扩大对Kubernetes的支持。这意味着用户最终将能够运行容器,而不必担心广泛的底层平台调整。
2. 期望在2022年对Kubernetes的改进
随着Kubernetes正在成为容器编排的标准,使用者了解随着它不断成熟会发生什么是很重要的。
以下是我们预计Kubernetes将改进的一些方面:
(1) 它的网络模式将得到改进
Kubernetes目前的网络模型,容器网络接口(CNI),并不是最灵活或可扩展的选项,还有改进的空间。一种名为服务网格接口(SMI)的新网络模型已经被提出,这将是Kubernetes受欢迎的补充。
SMI提供了一个规范,使不同的服务网格提供商能够与Kubernetes集成,并允许开发人员选择他们首选的网格,而无需在基础设施级别进行更改。
(2) 它将变得更容易使用和管理
Kubernetes在设计上很复杂,但有了良好的工具和文档,这种复杂性会降低。随着越来越多的开发人员开始使用Kubernetes,像Compose这样的工具可以帮助那些已经熟悉Docker Compose的人以最少的工作量立即开始使用。
此外,随着越来越多的人开始使用Kubernetes,我们将看到更详细的文档,以帮助回答与特定用例相关的问题。
(3) 有状态应用程序的复杂性将更容易管理
Kubernetes是运行不存储数据的无状态应用程序的绝佳工具。但是,当用户需要存储数据时,需要做更多的工作——使用Kubernetes,必须建立自己的存储系统。
(4) 开发人员将能够更快地使用它构建应用程序
Kubernetes难以使用的另一个原因是,学习和配置它需要很多时间。随着越来越多的开发者开始熟悉这个平台,这种学习曲线应该会变平,让新用户更容易开始。
(5) 安全性将更加稳固
Kubernetes因不够安全而受到批评。该平台本身具有各种安全功能,但默认情况下禁用,需要配置和仔细管理。这意味着许多Kubernetes集群不是很安全。不久,我们可能会看到该平台在默认情况下变得更加安全。
目前,Kubernetes仍然是一个年轻的项目——仍然受到快速变化和创新的影响。但到2022年,这种情况可能会改变。几年之后,我们可以进行回顾,并将其与围绕开源平台的早期讨论进行比较。