Helm
Helm 是用于管理 Kubernetes 应用的工具。 Helm Chart 是预先配置的资源定义包,可在 Kubernetes 集群中运行。 Chart 包含软件包的描述( Chart.yaml ),以及用于生成 Kubernetes 清单文件的一个或多个模板。
安装 Kubernetes 插件
此功能依赖于 Kubernetes 插件,您需要安装并启用该插件。
按 Ctrl+Alt+S 打开设置,然后选择 。
打开 Marketplace 选项卡,找到 Kubernetes 插件,并点击 安装 (如果出现提示,请重启 IDE)。
为 Helm 指定自定义路径
如果您将 Helm 安装在自定义目录中,您可以手动指定其路径。
在 设置 对话框(Ctrl+Alt+S )中,选择 。
在 Helm 可执行文件的路径 字段中,指定 helm 可执行文件的路径。
点击 测试 以检查文件位置。 如果未找到,您可以手动检查文件位置,或点击 安装 ,PyCharm 将下载并安装缺失的软件。

针对 Helm Chart 和模板的编码辅助包括代码补全、重构、检查、快速修复以及快速文档。 代码补全包含来自指定存储库的依赖项值(默认来自 Helm Hub)。
在 Go 模板指令中,PyCharm 为 Helm 内置对象 以及从 values.yaml 文件或自定义 values 文件传入的值提供补全。 您可以按 Ctrl+B 导航到对象值的来源,例如导航到导入到父 Chart 的子 Chart 值。
在模板对象中,您可以使用 代码折叠 :按 Ctrl+NumPad + 和 Ctrl+NumPad - 在值与指令之间切换。 您还可以将鼠标悬停在某个值上以展开并显示该指令。

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

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