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。