您当前位置:资讯中心 >云计算 >浏览文章

Kubernetes包管理神器Kustomize与Helm对比

来源:互联网 日期:2024/1/29 1:15:11 阅读量:(0)

K8s 是一个开源容器编排平台,可自动执行容器化应用程序的部署、扩展和管理。近年来,K8s 已成为采用云原生架构和容器化技术的组织的标准。

但是由于K8s的复杂性,因此诞生很多工具来简化使用的门槛。大多数公司使用的两个工具是Kustomize (K8s 的配置管理器)和Helm (K8s 的包管理器)

在本文中,我们将讨论 Helm 和 Kustomize、它们可以做什么、如何使用它们以及这些工具之间有什么区别。


Kustomize

Helm

操作方法

overlays

templating

使用成本

简单

复杂

是否支持封装



原生 kubectl 集成



声明式/ 命令式

声明式

命令式

什么是Kustomize?

Kustomize 是 k8s集群的配置定制工具。它允许管理员使用非模板文件进行声明性更改,而不影响原始清单文件。

所有自定义规范都包含在 kustomization.yaml 文件中,该文件将规范叠加在现有清单之上以生成资源的自定义版本。

比如我们有一个应用,需要在生产环境和测试环境部署,并且它的 yaml 配置大部分是相同的,只有少数的字段不同,那么这时候就可以用kustomize 来解决

Kustomize结构

Kustomize 使用共享基础资源和覆盖来提供可重用性和配置生成。Kustomize 项目的典型目录结构如下所示:

图片图片

Kustomize 项目结构通常包含基本目录和覆盖目录。在上面结构中,基本目录包含一个名为kustomization.yaml的文件和共享资源的清单文件。

base/kustomization.yaml文件声明文件,将包含在所有环境中

Overlays目录也包含kustomization.yaml,此文件会引用base文件夹的yaml 文件并进行自定义修改来构建个性化资源。同时Overlays 目录还包括单独的yaml文件,Kustomize 使用这些文件来创建特定环境资源

自定义部署示例

下面通用示例演示如何使用 Kustomize 进行最小 K8s 部署,将资源部署到开发和生产环境。

前置依赖

  • k8s 集群(1.14+)
  • Kubectl 客户端

使用以下命令克隆示例 Git 存储库并将所需的清单下载到您的工作环境中:

git clone https://github.com/dongweizhao/kustomize-demo.git
关键字:
声明:我公司网站部分信息和资讯来自于网络,若涉及版权相关问题请致电(63937922)或在线提交留言告知,我们会第一时间屏蔽删除。
有价值
0% (0)
无价值
0% (10)

分享转发:

发表评论请先登录后发表评论。愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。