将你的yaml文件迁移到helm

Posted by 梁远鹏 on 2023-04-01 | 阅读 |,阅读约 2 分钟

TOC

在这篇博客文章中,我们将学习如何将现有的清单 yaml 文件转换为 Helm Charts。

清单文件

Kubernetes 清单文件是描述 K8s 对象期望状态的YAML文件,例如 pod、service、deployment 等。这些文件用于在 Kubernetes 集群中创建、更新或删除资源。

Helm Charts

Helm Charts 是一种基于模板的 Kubernetes 打包解决方案。Helm 是 Kubernetes 的 yum/apt 等价物。它是您所有版本化、预配置的应用程序资源的集合,可以作为一个单元部署。然后,您可以使用不同的配置集合部署另一个版本的图表。

迁移部分

作为本博客的一部分,我们将使用 Helmify 工具将以下现有清单文件转换为 Helm chart:

现有清单文件保存为 mainfest.yaml。

apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: nginxdeploy
  name: nginxdeploy
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginxdeploy
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: nginxdeploy
    spec:
      containers:
      - image: nginx:latest
        name: nginx
        resources: {}
status: {}

Helmify

Helmify 是一种命令行工具,可以将 Kubernetes YAML 文件转换为 Helm chart。它专为 operator helm chart 设计,但也可以用于其他目的。 Hemify 工具参考链接:https://github.com/arttor/helmify

安装:

可以使用 brew 进行安装,也可以从此链接下载:https://github.com/arttor/helmify/releases/tag/v0.3.33

下载完成后,运行以下命令:

cat manifest.yaml|helmify nginx

以上命令的输出得到一个 Helm chart:

输出

这个 Helm chart 将使用名称 nginx 创建,其中包含 Chart.yaml、templates 目录和 values.yaml。

结论

您可以使用 Helmify 工具将所有现有的清单文件迁移到 Helm chart 中。我个人使用这种方法迁移了 30 个左右的应用程序。

原文

https://medium.com/@getpore/migrate-your-manifest-yaml-files-into-helm-chart-32a44230f3b5

微信公众号

扫描下面的二维码关注我们的微信公众号,第一时间查看最新内容。同时也可以关注我的Github,看看我都在了解什么技术,在页面底部可以找到我的Github。

wechat-qrcode