【编者的话】6月7日是Kubernetes的6岁生日。 编排平台是容器化应用程序的最好朋友,让我们来看一下编排平台你可能不知道的6个事实。
Kubernetes于6月7日庆祝其第六个生日:Kubernetes是有史以来发展最快的开源项目之一,它正在推动企业IT领域的重大变革,帮助开发人员管理大规模容器。 在更快地开发应用程序并以自动化方式管理资源方面,kubernetes更显价值。 这不仅在DevOps和敏捷环境中很重要,在任何要求加快软件开发和更多实验速度的企业IT环境中也同样重要。任何CIO或IT领导都会告诉你,CEO现在最大的愿望就是对客户需求和外部变化做出更快的响应。最近,Kubernetes更是风靡全球。
Kubernetes增长势头如何? 根据CNCF 2019年的Cloud Native调查,有78%的受访者在生产中使用Kubernetes,高于去年的58%。
在IT企业中促使人们对Kubernetes感兴趣的根本原因可能是容器化应用程序的数量开始增加。 根据2020年Red Hat企业开源报告,有56%的企业表示将在未来12个月内增加对容器化应用程序的使用。 Gartner预测,到2023年,超过70%的全球组织将在生产环境中运行两个以上的容器化应用程序,高于2019年的不到20%。
2020年Kubernetes状态:六个事实
让我们深入研究一下你可能不了解Kubernetes当前状态的六个事实:
1. Kubernetes不仅仅适用于最新的应用程序
“尽管Microservices和Serverless等新的架构风格以及服务网格技术很自然地适用于Kubernetes,但传统的单体应用程序也可以在容器中运行,”Red-Hat技术布道者Gordon Haff说。“此外,应用程序可以利用Kubernetes,容器原生的虚拟化和KubeVirt都支持Kubernetes上的虚拟化工作负载。”
“这种灵活性非常重要,因为正如Red Hat的企业开源代码状态报告中的数据告诉我们的那样,现有应用中的31%保持不变。企业平台也需要支持这些应用——不仅仅是新编写或重新编写的应用架构的服务器。”Haff说。
2. Kubernetes在企业使用多种公共云服务时扮演着重要角色
Kubernetes并不仅限于单云单集群运行。Haff说:“多集群运行甚至多云有各种各样的优势。”例如,跨分布式集群部署遗留应用和云本地应用程序可以提高应用程序的可用性。同时,有充分的理由集中这些集群的操作控制。Kubernetes的高级集群管理统一了多集群管理,提供了基于策略的治理,扩展了应用生命周期管理。
3. Kuberneters正在成为名副其实的云原生和本地资源控制平台
"开发人员正在逐步构建和运维容器。容器允许完整的服务打包,从而减少了维护独特的开发人员环境的繁琐,”Red Hat OpenShift首席技术营销经理Chris Short说:“与此同时,运营团队正在获得大规模管理Kubernetes集群的技能和工具 。 随着这些影响力逐步增强变,团队也开始开始意识到多个较小的集群可以更好地满足他们的需求。”
Chris Short说:“我们正在快速迈向一个可以在Kubernetes集群中进行‘传统’基础架构管理的世界,就像我们通过OpenShift虚拟化所看到的那样。希望在未来几年内Kubernetes成为企业IT的真正动力。”
4. Kubernetes工作负载可以利用硬件资源GPU加速
Red Hat云平台高级首席技术营销经理Erik Jacobs指出,你可能没有意识到Kubernetes可以利用图形处理单元(GPU)的功能来加快机器学习和人工智能(AI)的工作量。 当垂直行业的公司(从金融业到医疗保健业)试图利用机器学习工具挖掘大型数据集中的洞察力时,随着时间的推移,这些工具在检测模式时会变得越来越聪明,这一点很重要。
Haff指出,OpenShift中的GPU支持使其成为一个有用的Kubernetes平台,结合参考架构(如Open Data Hub)来开发和运行机器学习工作负载。
Open Data Hub是一个开源社区项目,它为数据科学家(以及其他进行数据分析的人员)提供自助服务工具和参考点。 正如该博客所解释的那样,Open Data Hub通过OpenShift上的Kubernetes容器,实现了从数据提取到数据转换为模型训练以及为AI和ML提供服务的端到端工作流。 它是有关如何使用开源工具(例如,基于OpenShift)基于OpenShift构建开放式AI/ML即服务解决方案的参考实现,例如 Tensorflow 、JupyterHub、 Spark。”
HCA Healthcare,ExxonMobil和BMW Group等公司已使用这些工具在OpenShift上部署了容器化ML工具链和DevOps流程。 他们以加快数据科学家的工作流程为目标。
5. Kubernetes对于完整的容器平台是必需的,但这还不够
这是Kubernetes生态系统和商业Kubernetes平台协同工作的强大典范。 有关更多示例,请参阅Haff最近的文章,五个使Kubernetes变得更好的开源项目。
Red Hat北美公共部门首席技术专家David Egts指出,就像Linux发行版不仅仅需要一个进程调度程序来运行有意义的工作负载一样,容器发行版也不仅需要容器调度程序。
Egts说:“Kubernetes已经是事实上的容器编排标准,但它只是容器平台的一部分。除了容器调度程序之外,一个完整的容器平台还需要平台服务、应用程序服务、开发人员服务、集群服务以及一个 操作系统。”
6. 容器化的工作负载不仅适用于本地应用
Egts指出,已经封装了许多独立的软件应用程序,并提供了相应的Kubernetes操作员,以帮助其整个生命周期。“与其将容器用于新的本地应用程序,而不是将它们与在旧版虚拟化上运行的ISV应用程序连接起来,它们都可以在同一平台上和谐共存,从而减少了新旧维护的需要。”Egts说。
企业会努力偿还技术债务,但不能一次消除所有债务,此时这将是一个不错的思路。