什么是 Helmsman
Helmsman 是一个 npm 包,它的作用是自动创建 Kubernetes 的 YAML 文件以及部署和更新应用程序。使用它可以大大减少 Kubernetes 的部署和更新过程中的工作量。
安装和使用
安装 Helmsman 的方法很简单,只需要使用 npm 工具:
npm install -g helmsman
安装完成后,你就可以使用 Helmsman 来生成 YAML 文件了。首先,你需要创建一个 config.yaml 文件,该文件指定了你要部署的 Kubernetes 的应用程序的配置。
以下是一个示例的 config.yaml 文件:
-- -------------------- ---- ------- ------- ---------- ----------- -------- -------- --------- --------- - ----- ----- ------ -------------------- -------- ----- ------- ------------- -
在上面的配置文件中,我们定义了一个名为 myapp 的发布,该发布使用了 stable/nginx-ingress 的 chart,replicaCount 设置为 2。
要使用 Helmsman 来部署应用程序,只需要使用以下命令:
helmsman -apply
该命令将会读取 config.yaml 文件并创建 Kubernetes 资源。
如果你想修改配置,你可以编译 Helm 模板。以下是一个示例 Helm 模板:
-- -------------------- ---- ------- ----------- ------- ----- ---------- --------- ----- -- ------------ ------------- ------- ---- -- ------------ -- ----- --------- -- -------------------- -- --------- ------------ ---- -- ------------ -- --------- --------- ------- ---- -- ------------ -- ----- ----------- - ----- -- ------------ ------------ ------ --- ------------- --- ------ - -------------- -- ------------ --
你可以将其保存为 deployment.yaml 文件,并在 config.yaml 文件中添加以下内容:
-- -------------------- ---- ------- ------- ---------- ----------- -------- -------- --------- --------- - ----- ----- ------ -------------------- -------- ----- ------- ------------- - ----- ----- ------ -------- ----- -- ---------- - ---------------
这将使用 deployment.yaml 模板并且为其提供值。
深度解析
Helmsman 是使用 Go 语言编写的,它依赖于以下库:
- yaml.v2
- go-helm
- kubernetes
它使用 YAML 文件来生成 Kubernetes 资源。每个发布都有它自己的 YAML 文件,该文件由配置文件中的 helm 模板生成。模板的值由 YAML 文件中的数据设置。
在 Helmsman 中,发布表示应用程序的清单。发布由几个部分组成:
- Name,发布的名称
- Chart,Helm chart 的名称
- Version,使用的 Helm chart 的版本
- Values,用于替换 Helm 模板的 YAML 数据
- Templates,用于替换 Helm 模板的 YAML 数据所使用的 Helm 模板
通过使用 Values 和 Templates,你可以轻松地修改 Helm 模板为你的应用程序所需的配置。
总结
使用 Helmsman,可以轻松地部署和更新 Kubernetes 中的应用程序。它可以极大地减少工作量,同时提高生产力。如果你需要使用 Kubernetes,Helmsman 绝对是一个值得尝试的工具。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedb71fb5cbfe1ea0611739