是的,你没看错!Helm v3.0.0-beta.1现在可供下载!这是Helm 3的第一个beta版本。这个版本的重点是完成最后的修改和重构,以及移植其它Helm 2特性。我们还专注于清理我们公开导出的Helm库的一些最后问题。我们计划这个测试版是相对稳定;但是,请注意它仍然是一个beta测试版,可能会发生破坏性的改变。
更重要的是,我们要感谢所有参与发现问题、分类、测试和为第二个alpha版本提供修复的人。
社区在不断发展,我们很高兴在那里见到你!
- 加入Kubernetes Slack的讨论:
- #helm-users:问题和闲逛
- #helm-dev:讨论PRs、代码和bug
- 公开的开发者电话会议:周四9:30(太平洋时区),Zoom
- 测试、调试和贡献chart:GitHub/helm/charts
https://kubernetes.slack.com/
https://zoom.us/j/696660622
https://github.com/helm/charts
值得注意的特性和修复
- 添加了实验特性门的支持。我们希望这将向用户表明,Helm的某些功能没有相同的向后兼容性保证支持。像helm registry和helm chart这样的命令(即支持OCI注册表的命令),现在由一个特性门支持。必须设置环境变量HELM_EXPERIMENTAL_OCI=1才能启用该特性。
- helm search现在支持本地存储库搜索(helm 2的行为)和对Helm Hub进行搜索查询。我们希望这将增加用户对可用选项的可见性。
- 一些导出的包有重大的重构,或者已经迁移到内部(internal)。如果你使用Helm 3作为库,你可能需要更改一些代码。请注意,内部的任何包最终都可能根据社区的需要进行重构和导出。
- 升级现在使用三方合并补丁来完成,考虑到根据Kubernetes的对象的当前状态。升级将不再覆盖安装后添加的附加状态(尽管它仍然覆盖chart中设置的任何状态)。有关更多细节,请参阅有关新合并行为的FAQ。
https://v3.helm.sh/docs/faq/#improved-upgrade-strategy-3-way-strategic-merge-patches
- Helm不再需要主目录(home directory)。它现在遵循用于存储文件的XDG目录规范。正因为如此,helm init和helm home已经被移除。
- 随着helm init的移除,我们也不再在默认情况下添加stable的repo。我们正在寻找关于如何改进存储库工作流的反馈,如果有的话,默认值应该是什么。
- 在内部,helm test有一些主要重构,使test-success钩子行为与其它Helm钩子一致。由于缺乏使用,test-failure钩子被移除。用户应该迁移他们的测试,转而使用test-success钩子。
- 对crd-install钩子的支持已被移除。取而代之的是,添加了对crd目录的支持,所有CRD都应该放在这个目录中。目录中的所有CRD都将在chart的其余部分呈现完成之前安装。当社区决定如何最好地处理CRD时,我们将为该工作流添加额外的支持。在3.0.0发布之前,我们将发布“遗留(legacy)”插件,允许带有crd-install钩子的老版本v1chart在Helm 3工作。
已知问题
由于一些重构和Tiller的删除,目前缺少Kubernetes对象验证。这将在下个beta版中修复,但在此期间安装chart应该不会引起任何问题。
开始使用
如果你对beta版有任何疑问,请随时联系#helm-dev,如果你在文档中发现任何遗漏的信息,我们将非常感谢你的pull request!❤️
接下来是什么
这取决于是否需要进行任何重大更改,下个版本将是3.0-beta.2版或3.0.0-rc.1。维护者将专注于修复任何bug,以及移植其它Helm 2的特性。你可以在这里找到有待移植的特性列表。
https://github.com/helm/helm/pulls?utf8=%E2%9C%93&q=is%3Apr+label%3A%22Needs+v3+fix%22+-label%3A%22v3+port+complete%22+-label%3Adocs
由于这是beta测试版,我们不期望会有任何破坏性的变化,但仍然有小的机会,从Helm 2或其它bug移植功能可能导致破坏性的变化。在这种情况下,这些更改将在发布说明中明确指出。
安装和升级
下载Helm 3.0.0-beta.1。
https://github.com/helm/helm/releases/tag/v3.0.0-beta.1