Helm
Helm 是一种用于管理 Kubernetes 应用程序的工具。 Helm chart 是在 Kubernetes 集群内运行的预配置资源定义包。 图表包含软件包说明 Chart.yaml 以及用于生成 Kubernetes 清单文件的一个或多个模板。
启用 Kubernetes 插件
此功能依赖于 Kubernetes 插件,该插件默认在 JetBrains Rider 中捆绑并启用。 如果相关功能不可用,请确保您未禁用该插件。
按下 Ctrl+Alt+S 打开设置,然后选择 。
打开 已安装 选项卡,找到 Kubernetes插件,并勾选插件名称旁边的复选框。
为 Helm 指定自定义路径
如果您将 Helm 安装在自定义目录中,您可以手动指定其路径。
在 设置/首选项 对话框(Ctrl+Alt+S )中,选择 。
请在 Helm 可执行文件的路径 字段中指定 helm 可执行文件的路径。
请点击 测试 查看文件位置。 如果未找到,您可以手动检查文件位置,或点击 安装 ,JetBrains Rider 将下载并安装缺失的软件。

Helm 图表和模板的编码辅助包括代码补全、重构、检查、快速修复和快速文档。 代码补全包括指定仓库中的依赖项的值(默认情况下来自 Helm Hub)。
在 Go 模板指令中,JetBrains Rider 提供了对 Helm 内置对象 和从一个 values.yaml 文件或自定义 values 文件传递的值的补全。 您可以按 Ctrl+B 导航到对象值的来源,例如,导入到父图表中的子图表值。
在模板对象中,您可以使用 代码折叠 :按 Ctrl+NumPad Plus 和 Ctrl+NumPad Minus 在值和指令之间切换。 您也可以将鼠标悬停在值上以展开并显示指令。

您还可以使用边栏图标在标签定义与标签选择器之间以及在被重写值和重写值之间进行导航。
创建一个新的 Helm 图表
在 项目 工具窗口中,右键点击一个文件夹并选择 。
在 新建Helm 图表 窗口中,输入图表的名称。
这将运行 helm create命令,它添加了所有开始所需的基础文件:
.helmignore :构建包时忽略的模式
Chart.yaml :带有元数据的基本图表描述
values.yaml :图表模板的默认值
charts/ :子图表的目录
模板/ :图表定义目录
_helpers.tpl :用于您模板的局部和函数
NOTES.txt :部署图表后打印出的信息
deployment.yaml :示例 Kubernetes 部署定义
ingress.yaml :Kubernetes 入口定义示例
service.yaml :示例 Kubernetes 服务定义
预览 Helm 模板渲染结果
您可以使用 helm template命令在本地呈现图表模板。 指定来自文件系统任意文件夹的一个或多个包含值的 YAML 文件。 这支持使用不同环境的独立值文件等用例。
如果模板文件在编辑器中打开,请点击编辑器右侧的
。
或者,右键点击图表并从上下文菜单中选择 。
在 呈现Helm 模板 对话框中添加一个或多个包含用于呈现的值的文件。 这些可以是来自您的文件系统的任意 YAML 文件。
您还可以在 附加值 部分中提供以逗号分隔的多个单个值。

单击 继续。 这会运行 helm template命令并使用指定的值呈现 Helm 图表。
JetBrains Rider 在差异查看器中打开渲染后的预览,与原始模板文件进行比较。
更新外部依赖
右键点击图表并从上下文菜单中选择 。
这将运行 helm dependency update 命令。
在 Helm 2 中,依赖项应在 requirements.yaml 文件中指定。 此操作还会生成或更新 requirements.lock 。
在 Helm 3 中,依赖项应在 Chart.yaml 文件中指定。 如果您在错误的文件中指定了依赖项,JetBrains Rider会提供一个检查,并有一个快速修复来移动它们。
也有用于更新依赖项的裂缝图标,分别在 requirements.yaml 和 Chart.yaml 文件中。
检查 chart 是否存在潜在问题
右键点击图表,指向 Helm(H) ,然后点击 Helm Lint(L)。
这将运行 helm lint 命令,该命令执行一系列测试,以发现可能存在的问题,而无需实际安装图表。