Deis Helm 借重要更新改进 Kubernetes 易用性

  • John Okoro
  • 大愚若智

2016 年 10 月 31 日

话题:DevOpsKubernetes

InfoQ 最近就 Deis Helm 的重要更新采访了Deis首席架构师Jason Hanson。Deis 主要开发简化Kubernetes使用方法的各类开源工具,此次发布的新版,最主要的功能在于对 Kubernetes 新版本的就地升级提供了一流支持。Helm 现在还可用来定义在安装、升级,以及删除操作前后调用的钩子。

Deis 公司旨在帮助其他公司顺利步入 Kubernetes 和原生云计算的世界。虽然 Deis 对 Kubernetes 抱有坚信不疑的态度,但他们认为该技术在易用性方面还有很大提升空间。Deis Helm 是一种(与 yum 和 apt 类似的)包管理器,Chart 是可管理的包(类似于 deb 和 rpm)。这些 Chart 的核心是Kubernetes Chart 仓库,可为 Pull 请求提供持续集成,并能对主分支中的 Chart 进行自动化发布。他们还通过Kubernetes 博客提供了有关 Helm Chart 的进一步介绍和详细范例。

Deis 正在围绕 Helm 构建社区。他们建立了一个GitHub 开源社区项目。随着社区逐渐壮大,越来越多的 Kubernetes 用户开始提供新的 Helm Chart。对于新建 Helm Chart 感兴趣的人可以加入Kubernetes #helm 频道。诸如Bitnami等公司正在开发高质量的 Chart,借此完善 Helm Chart 的开发过程,让社区成员可以更容易地开发出自己的 Chart。

InfoQ 就最新发布的 Helm 中包含的关键功能采访了 Hanson:

Helm 社区已将大量功能包含在 Alpha.3 版本中。Helm Alpha.3 最主要的功能是对 Kubernetes 的新版本就地升级提供了一流的支持。对于 Chart 的创作者,Helm 现在还可用来定义在安装、升级,以及删除操作前后调用的钩子。借助这些钩子,用户可以将自定义函数附加到发布事件。快速简单的升级过程也是通过 Kubernetes 运行应用程序一个非常重要的需求。

除了就地升级,我们还对模板引擎、将 Helm 部署至 Kubernetes 集群的方法,以及操作者的整体 UX 体验进行了大量改进。

InfoQ 向 Hansen 问到相比单独使用 Kubernetes,将 Kubernetes 与 Helm 配合使用可以获得的优势。对于这个问题 Hansen 列举了一个例子作为回应:

在构建 Deis Workflow 时,我们很快发现围绕 Kubernetes 的清单产生了很多麻烦的争议。包管理能力的缺乏造成了很多有关“清单到底应该是怎么样的”之类的问题。Helm 提供了一种通用的模板语言,实现版本控制的方法,以及通用的开发过程,借此有效地帮助团队成员相互之间保持一致。

Deis 还提供了一种工作流产品,InfoQ 就这些产品与 Helm 的配合使用询问了 Hansen。Hansen 提出,Helm(分布式原生云应用程序)的角色与 Deis Workflow 的角色是互补的。可以通过 Helm 将 Deis Workflow 和组件提供给操作者。

Deis Workflow 非常紧密地专注于12 要素应用程序的运行,并可促进开发者的自助服务能力。如果所有应用程序,尤其是后端服务可以符合该模型的要求,最终所有人都将从中获益。虽然目前尚未实现,但 Helm 的目标是让任何应用程序的打包和管理工作变得尽可能简单。

InfoQ 还向 Hansen 问到他们是否打算继续将 Deis Helm 作为一种开源产品。Hansen 称目前的主要目标依然是确保所有 Deis 项目开源且免费:

因此我们将 Helm 加入到Cloud Native Compute Foundation(CNCF)中。对于能够帮助不同团队以云原生方法构建和运行应用程序,我们感到万分激动。

在 InfoQ 就此次新版的采访结束后,Deis 还发布了 Deis Helm v2.0.0-Alpha.4。有关 Alpha.4 版本的介绍请访问 Kubernetes #helm 频道。

查看英文原文Deis Helm Major Release Improves Kubernetes Usability

DevOpsKubernetes