Kubernetes Operators和Helm图表,互补还是竞争?

开发 开发工具
Kubernetes Operators和Helm图表(Helm Charts)是互补而非竞争的技术。来一起看看二者的工作方式,以及什么时候使用它们。

Kubernetes Operators和Helm图表(Helm Charts)是互补而非竞争的技术。

在Kubernetes中,Helm图表和Kubernetes Operators都是让任务自动化的便捷工具,这些任务原本需要大量的人工工作。虽然它们都是为自动化而生,但它们并不是完全可互换的工具。来一起看看二者的工作方式,以及什么时候使用它们。

Kubernetes Operators和Helm图表,互补还是竞争?

为什么需要Kubernetes Operators和Helm图表?

手动编写YAML文件对于大多数人来说并不容易,而且每次手动编写自定义YAML都是不现实的,而且需要在Kubernetes集群中部署应用程序或修改配置设置。Helm图表和Kubernetes Operators通过为管理员提供了一种将应用程序和配置部署到Kubernetes集群中的简便方法。

而使用Helm还是Operators取决于要部署的应用程序类型以及所需的特殊配置。

Helm用例

Helm是Kubernetes的软件包管理系统。使用称为图表(Charts)的打包格式,用户可以将应用程序,比如Kafka或Apache HTTP打包为其他任何人都可以只用几个命令就可以在Kubernetes集群上部署的格式,而几乎不需要手动更改YAML文件。

Kubernetes Operators和Helm图表,互补还是竞争?

如果你熟悉Linux上下文中的软件包管理,那么Helm图表应该很容易理解。它们类似于Debian或RPM软件包,而Helm本身就像apt或dnf。就像你可以在Ubuntu上apt-get install [某些软件包]一样,也可以在Kubernetes上Helm安装[某些软件包],来让应用程序快速启动并运行。

Operators的用例

Operators还将应用程序打包为易于部署的格式,但他们要做的不止这些。使用Kubernetes自定义资源,管理员还可以在程序包中包含大量复杂的配置数据。

因此,可以使用Kubernetes Operators来以完全自动化的方式部署有状态的应用程序;或者数据库模式之类的事情;抑或以特定方式配置集群部署应用程序,来实现高可用性。确实,使用Kubernetes Operators时甚至不需要部署应用程序。用户可以使用Kubernetes Operators来自动执行其他任务,例如执行备份或基于预定义模板以特殊方式配置集群。

 Kubernetes Operators和Helm图表,互补还是竞争?

与Helm图表不同,Kubernetes Operators不好与其他平台做比较,尽管它们可以与其他类型的工具进行比较。在某些方面,你可以认为Kubernetes Operators就像部署在Linux服务器上来修改服务器配置的Bash脚本一样,尽管与一般的Bash脚本相比,Kubernetes Operators的打包和部署更加简洁。

Kubernetes Operators在某些方面也许类似于操作系统镜像文件,可以使用它来部署以特定方式设置的操作系统环境的副本。但是,Kubernetes Operators比镜像文件更容易修改和部署。如果要部署OS镜像,则必须从头开始构建新的OS。相反,Kubernetes Operators可以部署在现有的Kubernetes集群上,仅更改Kubernetes Operators打算更改的集群配置那一部分。

什么时候使用Helm图表和Kubernetes Operators?

什么时候应该使用Helm?什么时候使用Kubernetes Operators?其实答案取决于一下几个因素:

  • 只是在安装应用程序吗?如果主要目标是部署应用程序,那么Helm可能是更好的解决方案。
  • 多少定制化?如果你正在部署通用应用程序并且觉得默认设置还可以,那么Helm就足够了。但如果需要特殊配置,就可以使用Kubernetes Operators。
  • 集群有多成熟?通常,当首次设置Kubernetes集群并想要部署应用程序时,Helm图表最有用。当集群已经启动并正在运行时,Kubernetes Operators会派上用场,来实现复杂的自定义配置或部署特殊的应用程序。

写在最后,所以对于大多数技术团队而言,使用Helm图表和Kubernetes Operators来实现不同的目标。它们是互补的,而不是竞争的关系。都有助于自动化Kubernetes工作流程,并与其他人共享Kubernetes应用程序和配置,并可以解决不同类型的用例。

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2012-05-08 14:59:50

CloudStack

2021-02-07 08:00:00

Kubernetes集群云原生

2021-03-12 13:37:53

Kubernetes容器集群

2022-09-05 10:06:01

ARVRMR

2012-10-18 09:49:55

SDNADN云计算

2019-09-12 10:43:44

DockerKubernetes软件

2013-02-27 16:25:35

F5 NetwrksSDNADN

2024-01-29 01:15:11

HelmKubernetesKustomize

2019-03-29 09:00:31

Kubernetes开发者工具

2024-04-10 11:50:28

2011-04-14 13:46:47

EAISOA

2021-11-11 09:01:01

Helm Chart Kubernetes

2020-11-27 15:38:45

5GAI人工智能

2021-06-10 07:12:26

Kubernetes容器

2022-09-05 08:33:32

HartKubernetes

2013-02-26 10:34:42

F5 NetworksSDNADN

2022-09-21 14:44:39

边缘计算人工智能

2022-08-24 17:34:20

数字人民币数字货币加密货币

2021-04-26 14:36:07

比特币黄金加密货币

2021-05-12 09:39:33

5GAI人工智能
点赞
收藏

51CTO技术栈公众号