IntelliJ IDEA使用之Kubernetes插件
Kubernetes
Kubernetes支持容器化应用程序的部署,扩展和管理。IntelliJ IDEA通过Kubernetes插件为Kubernetes资源配置文件提供支持。
注意:该Kubernetes插件未与IntelliJ IDEA捆绑在一起,应该从JetBrains插件库单独安装。
Kubernetes插件从1.5版开始支持Kubernetes API。 它为YAML中的资源配置文件提供了丰富的支持,并且只支持JSON格式。
功能 | YAML | JSON |
---|---|---|
自动完成 | 支持 | 支持 |
快速文档 | 支持 | 支持 |
检查和快速修复 |
|
|
实时模板 | 常见配置类型的预定义模板:
| 没有预定义的实时模板 |
智能完成 | 支持 | 不支持 |
标签定义和选择器 | 使用装订线图标导航,查找用法和重命名 | 不支持 |
原始Kubernetes模型的增强功能 | 在适用的情况下,枚举而不是纯字符串 | 没有 |
资源配置文件
IntelliJ IDEA使用以下必填字段识别Kubernetes资源配置文件:
- apiVersion:标识对象表示的版本化模式
- kind:标识对象类型(例如,Service,Pod,Deployment,等等)
如果以前的两个字段都存在于YAML或JSON文件中,IntelliJ IDEA将使用相应的Kubernetes图标标记该文件并启用所有可用功能:
对于YAML文件,您还可以使用预定义的实时模板来创建必要的配置类型:
要查看可用的实时模板并创建新模板,请打开“设置/首选项”对话框(Ctrl + Alt + S),单击“编辑器”,然后单击“实时模板”,然后展开列表中的Kubernetes组。
Helm支持
Helm是一个管理Kubernetes应用程序的工具。Helm图表是您在Kubernetes集群中运行的预配置资源定义的包。图表包含包的描述(Chart.yaml)以及用于生成Kubernetes清单文件的一个或多个模板。
在Helm模板语法支持需要Go Template插件。
Helm图表和模板的编码辅助包括代码完成,重构,检查,快速修复和快速文档。此外,可以使用装订线图标在标签定义和标签选择器之间以及重写和覆盖值之间进行导航。
创建一个新的Helm图表
右键单击“项目”工具窗口中的任何目录,指向“Kubernetes”,然后单击“Helm Create Chart”。
这将运行helm create命令,该命令将添加入门所需的所有基本文件:
.helmignore:构建包时要忽略的模式
Chart.yaml:包含元数据的基本图表说明
values.yaml:图表模板的默认值
charts/:子图表的目录
templates/:图表定义的目录
_helpers.tpl:模板的部分和功能
NOTES.txt:部署图表后打印出来的信息
deployment.yaml:示例Kubernetes部署定义
ingress.yaml:示例Kubernetes入口定义
service.yaml:示例Kubernetes服务定义
预览Helm模板渲染的结果
右键单击模板文件,指向Kubernetes,然后单击Helm Template。
这将运行呈现图表模板的helm template命令。渲染预览在diff查看器对话框中打开,以将其与原始模板文件进行比较。
更新外部依赖项
如果图表具有requirements.yaml文件,则可以更新或下载相应的tgz依赖项。此操作还会生成或更新requirements.lock。
右键单击图表,指向Kubernetes,然后单击Helm Dependency Update。
这将运行helm依赖项更新命令。
检查图表是否存在可能的问题
右键单击图表,指向Kubernetes,然后单击Helm Lint。
这将运行helm lint命令,该命令执行一系列测试以发现可能的问题,而无需实际安装图表。
生产力提示
如果您经常使用此处描述的功能,以下提示可能会有所帮助:
- 分配快捷方式
您可以为IntelliJ IDEA中的任何操作指定键盘快捷键。在“设置/首选项”对话框(Ctrl+Alt+S)中,选择“键盘映射”。在搜索字段中键入kubernetes,然后双击某个操作为其设置快捷方式。