当前位置: 首页 > 科技观察

KubernetesOperators和Helm图,互补还是竞争?

时间:2023-03-18 20:29:07 科技观察

KubernetesOperators和HelmCharts(头盔图表)是互补而非竞争的技术。在Kubernetes中,Helm图表和KubernetesOperators是用于自动化任务的便捷工具,否则这些任务将需要大量手动工作。虽然它们都是为自动化而制造的,但它们并不是完全可以互换的工具。让我们来看看两者的工作原理以及何时使用它们。为什么需要KubernetesOperators和Helm图表?手动编写YAML文件对大多数人来说并不容易,而且每次都手动编写自定义YAML并不实用,并且需要在Kubernetes集群中部署应用程序或修改配置设置。Helm图表和KubernetesOperators为管理员提供了一种将应用程序和配置部署到Kubernetes集群中的简便方法。使用Helm还是Operators取决于部署的应用程序类型和所需的特殊配置。Helm用例Helm是Kubernetes的包管理系统。使用称为Charts的打包格式,用户可以将Kafka或ApacheHTTP等应用程序打包成任何人都可以部署在Kubernetes集群上的格式,只需几条命令,几乎不需要手动更改YAML文件。如果您熟悉Linux环境下的包管理,那么Helm图表应该很容易理解。它们就像Debian或RPM包,而Helm本身就像apt或dnf。就像您可以在Ubuntu上使用apt-getinstall[somepackages]一样,您也可以在Kubernetes上使用apt-getinstall[somepackages]来快速启动和运行应用程序。Operators的用例Operators还将应用程序打包成易于部署的格式,但它们的作用不止于此。使用Kubernetes自定义资源,管理员还可以在包中包含大量复杂的配置数据。因此,您可以使用KubernetesOperators以完全自动化的方式部署有状态应用程序;或数据库模式之类的东西;或配置集群以特定方式部署应用程序以实现高可用性。事实上,在使用KubernetesOperators时,您甚至不需要部署您的应用程序。用户可以使用KubernetesOperators自动执行其他任务,例如执行备份或基于预定义模板以临时方式配置集群。与Helm图表不同,KubernetesOperators不容易与其他平台进行比较,尽管它们可以与其他类型的工具进行比较。在某些方面,你可以将KubernetesOperator想象成部署在Linux服务器上的Bash脚本,用于修改服务器配置,尽管KubernetesOperator比普通的Bash脚本更简洁地打包和部署。KubernetesOperators在某些方面可能类似于操作系统映像文件,可用于部署以特定方式设置的操作系统环境的副本。但是,KubernetesOperators比镜像更容易修改和部署。如果你想部署一个操作系统镜像,你必须从头开始构建一个新的操作系统。相反,KubernetesOperators可以部署在现有的Kubernetes集群上,仅更改KubernetesOperator打算更改的集群配置部分。什么时候应该使用Helm图表和KubernetesOperators?什么时候应该使用Helm?什么时候应该使用KubernetesOperators?答案取决于几个因素:您只是安装应用程序吗?如果主要目标是部署应用程序,那么Helm可能是更好的解决方案。定制程度如何?如果您正在部署通用应用程序并且觉得默认设置很好,那么Helm就足够了。但如果需要特殊配置,可以使用KubernetesOperators。集群有多成熟?通常,Helm图表在首次设置Kubernetes集群并想要部署应用程序时最有用。当集群启动并运行时,KubernetesOperators会派上用场,以实现复杂的自定义配置或部署特殊应用程序。写在最后,所以对于大多数技术团队来说,使用Helmcharts和KubernetesOperators来实现不同的目标。它们是互补的而不是竞争的。两者都有助于自动化Kubernetes工作流程并与他人共享Kubernetes应用程序和配置,并且可以处理不同类型的用例。