把物品装进集装箱然后运到海外并不是什么新鲜事,但在商业应用程序的数字世界里,这已经成为了一种时尚。在容器允许公司轻松地在私有云和多个公共云之间扩展、更新或迁移——如此容易,以至于容器成倍增长。这就是容器编排或Kubernetes发挥作用的地方。然而,对于许多企业来说,这项技术可能过于强大,也可能很快变得过于复杂,这就催生了Kubernetes作为一种服务。
Kubernetes就像一个乐队指挥这决定了哪些乐器(在这种情况下是容器)在一起演奏,多长时间,何时静音。该技术自动化了封装业务应用程序的容器的设置、监视和管理。Kubernetes最初在谷歌开发,并以希腊词κ ν βε ε ν ζ(舵手或飞行员)命名,Kubernetes是一个开源的编配系统,它使得组织和调度跨私有、混合和多云it操作的应用程序更容易。
根据Datadog的研究,Kubernetes已经成为容器编排事实上的标准。从2017年到2020年,它的使用率翻了一番,451 Research发现57%的企业正在积极采用Kubernetes.
Nutanix物联网和人工智能副总裁兼总经理萨蒂扬·瓦格哈尼(Satyam Vaghani)认为:“Kubernetes的兴奋已经被证明是最大的失败。”
这是因为,对很多人来说,库伯内特的小说比阿加莎·克里斯蒂的悬疑小说还要复杂。每个季度都会有新的版本出现,随之而来的是一系列的基础设施选择、安全挑战和IT人员配备压力。有些人指出Kubernetes表现得好像这是唯一的平台可以在系统中运行应用程序。
对于那些被兴奋所吸引但对这些大惊小怪不感兴趣的人来说,Vaghani指出Kubernetes是一个平台即服务(PaaS),特别是对于跨私有和多云环境管理应用程序的企业。
为什么Kubernetes如此受欢迎──而且如此复杂
Kubernetes被称为“云中的Linux”,因为它就像一个操作系统,可以跨云处理许多操作任务,比如为机器分配容器、引导容器以及处理升级、回滚和故障。它还创建集群资源,如服务发现、虚拟机间网络和集群入口和出口。
但是Kubernetes的创建者之一Joe Beda最近在《信息世界》中承认Kubernetes是一个复杂的系统,需要一个陡峭的学习曲线.伴随着有效使用Kubernetes的复杂性,实现的多样性也随之而来,Kubernetes有21个版本在使用,每季度都有新的小版本发布。Kubernetes认证版本由云本地计算基金会(CNCF)提供的Kubernetes确保了互操作性,没有厂商锁定,但许多软件和云平台供应商提供了他们自己品牌的Kubernetes版本,进一步增加了部署和下一个部署之间的差异,以及公司与公司之间的开发人员技能集。
为什么Kubernetes的实现如此具有挑战性?
- 随着部署在同一主机上的同一pod中的容器之间的流量(和攻击面)增加,安全性挑战也会成倍增加。Kubernetes的分布式、动态特性不能很好地与遗留的安全解决方案一起工作。
- 复杂性,不同的版本,以及它的快速发展,使得Kubernetes对内部人员保持更新具有挑战性。随着相关技术生态系统的不断发展,它正在快速发展,是一个分布式系统,需要新的计算、存储和网络,必须适应Kubernetes的操作方式。
- 多云的使用很难优化,需要使用不同的工具来可视化和控制不同云上的部署。
“人们花在Kubernetes实验上的时间太长了,”Vaghani说。大批开发人员开始迷恋不同的、更新的版本。旧版本在三个月后就不受支持了。”
他说,物联网和边缘用例是一些Kubernetes部署遇到麻烦的地方,开发人员试图在需要小型化的微型设备上安装更新的、代码大量的Kubernetes版本。
瓦格哈尼说:“例如,如果你想在机场安装自助值机服务亭,你就不必花时间担心这种不断发展和变化的技术能否在成千上万个自助值机亭上运行良好。”
“你不希望软件工程师把90%的时间花在定期升级、测试和保护Kubernetes上。然后,他们可能会陷入不同的网络选项、负载平衡选项、存储选项和管理选项。你希望他们专注于设计最好的应用。”
为什么对Kubernetes使用PaaS
据Vaghani说,在过去,是由供应商提供数据库、存储系统或管理程序。但在虚拟化、容器化应用和微服务的时代,软件构成了操作层。
他说:“这给许多开发者带来了错误的希望,以为他们可以自己组装操作层。”“但是,尽管这些容器化的应用程序和微服务技术现在更容易获得,也更开放源代码,但复杂性并没有消失。”
这就是Kubernetes作为云服务的吸引力所在。
“首先,您可以享受Kubernetes的传统优势:更快的生产时间、非破坏性实时升级、更高的服务器效率、弹性可伸缩性,以及跨不同环境的应用程序可移植性,”Vaghani说。
“其次,Kubernetes PaaS消除了内部开发人员跨数据中心和多个云部署、管理和维护Kubernetes的所有工作。”
一个窗格提供了对所有Kubernetes部署的可见性和控制。
出于这些原因──再加上DIY的时间、成本和不确定性──瓦格哈尼说,企业看到了Kubernetes作为PaaS的价值。