人们需要了解什么是Kubernetes,以及它是否真的是一种优秀选择,还要了解使用细节。
如今,Kubernetes似乎是一个热门的话题。该工具以及围绕它构建的相关工具经常被人们谈论,它似乎是当今唯一对开发人员重要的主题,特别是当IT世界越来越面向云计算和微服务时。
尽管围绕Kubernetes进行了很多探讨,但企业真的需要将Kubernetes用于其运营环境吗?人们是否被其新颖性和可能性所吸引?以下将仔细讲解Kubernetes在大多数情况下可能是一种炒作案例的原因。
企业是否需要Kubernetes取决于许多不同的因素,但根据调查,企业需要Kubernetes的愿望并不那么迫切。
以下回顾一下Kubernetes解决了什么问题,并确定企业何时可以从在其环境中学习和使用Kubernetes中受益。
什么是Kubernetes?
以下先从Kubernetes的标准描述开始。这是在维基百科对Kubernetes的描述:“Kubernetes是一个开源容器编排系统,用于自动化计算机应用程序的部署、扩展、管理。”
首先,Kubernetes与容器一起工作。众所周知,容器是虚拟机(VM)的替代品,它们可以更有效地利用硬件基础设施的资源。用容器解决方案替换虚拟机(VM)是一种经济高效的更改。然而,该架构也有其面临的挑战,因为进程和应用程序仍然需要正确分离,这对于Kubernetes来说比虚拟机更困难。
当企业有许多容器需要管理时,人工操作就变得很困难。这就是Kubernetes发挥重要作用的地方。Kubernetes使建立多个协同工作并具有扩展能力的容器成为可能。
这个描述可能听起来很熟悉;可能会从微服务架构模型中识别出一些属性。微服务架构涉及一组相互协作的独立应用程序,为用户请求创建响应,这意味着企业可以单独扩展每个微服务。Kubernetes旨在与微服务架构一起使用,以在需要一起设置和扩展大量独立应用程序时提供帮助。
Kubernetes还与自动化工作流有关。当需要在Kubernetes中部署第一个和第二个服务之间执行一些脚本时,可以以编写一个Kubernetes Operator来自动化这个过程,甚至可以将一些复杂的逻辑融入Kubernetes资源的调用方式以及它们之间的交互方式中。
为什么一些企业可能不适合采用Kubernetes?
既然已经探索了Kubernetes是什么,就需要问为什么要使用它,或者企业是否真的需要使用Kubernetes。
如上所述,Kubernetes与典型的微服务架构保持一致,在这种架构中,企业有许多协同工作的应用程序,并且可能需要一些复杂的初始化和设置。
因此,容器编排平台对于像Netflix和亚马逊这样运营着庞大微服务环境的大企业来说是很有用的。但是大多数人并没有在拥有庞大软件系统的大型企业中工作,而这样的大型企业有大量不同的工作流程和独立的应用程序,以及大量的开发人员来处理它们。与其相反,企业可能有少数开发人员创建和维护对其业务至关重要的一个或几个应用程序。
学习、设置和使用Kubernetes本身就是一门专业,这不是可以在短时间内完成的事情。它需要大量的时间和资源投资,因为企业需要许多服务器来设置Kubernetes,并且在默认情况下需要多台机器的集群。
因此,对于规模较小的企业来说,收益大于成本的可能性很小。使用Kubernetes通常是解决大公司遇到的问题的一个案例,但小企业采用Kubernetes可能会导致更多的时间和资源支出。
因此,在深入研究Kubernetes或容器编排工具之前,企业应该确保它确实解决了其在环境中遇到的问题之一。
使用基于Kubernetes的工具
如上所述,当企业处理大型环境时,Kubernetes很有帮助,并且云计算提供商已经通过他们的服务为Kubernetes提供支持。
但是,在许多情况下,直接在云计算提供商提供的云平台使用Kubernetes并不是一个好主意。虽然可能会为企业提供更多帮助,但仍然需要处理Kubernetes的所有底层细节,而这需要大量投资才能完成。
最近出现了一些基于Kubernetes的工具,这些工具为企业带来了Kubernetes提供的功能和能力,但为用户和开发人员提供了更易于使用的界面。
也许企业只对配置和运行应用程序感兴趣,而不想学习Kubernetes部署、服务和其他任务(如SSL证书管理、路由和设置监控)的概念。Payara Cloud等工具使用Kubernetes以企业熟悉的方式将其应用程序带到云端,而无需重新培训开发人员并自行完成所有工作,这需要由企业来处理。将应用程序部署到Payara Cloud与在内部部署设施运行的应用程序非常相似。
有些企业可能不需要Kubernetes
如果企业正在处理许多容器并且在启动它们时需要对一些步骤实现自动化,那么Kubernetes将非常有用。因此,除非拥有大型微服务环境,否则Kubernetes不太可能带来更多附加值。一些企业可能不需要采用Kubernetes,因此不应该进行投资。
如今开发商发布了一些工具来使用Kubernetes,同时保护企业的团队不会遇到使用Kubernetes的麻烦和问题。无需学习如何使其工作即可获得Kubernetes的所有优势。Payara Cloud就是一个专门针对Jakarta EE运行时的示例:企业只需要配置其应用程序并上传,然后就可以开始使用。这是对大多数企业都有用的Kubernetes用法。
希望这篇文章有助于人们对Kubernetes应用的了解。虽然Kubernetes是当下的流行术语,但并不意味着一定适合企业所开展的业务。