codecamp

IntelliJ IDEA使用之Kubernetes插件

Kubernetes

Kubernetes支持容器化应用程序的部署,扩展和管理。IntelliJ IDEA通过Kubernetes插件为Kubernetes资源配置文件提供支持。 

注意:该Kubernetes插件未与IntelliJ IDEA捆绑在一起,应该从JetBrains插件库单独安装。

Kubernetes插件从1.5版开始支持Kubernetes API。 它为YAML中的资源配置文件提供了丰富的支持,并且只支持JSON格式。

功能

YAML

JSON

自动完成

支持

支持

快速文档

支持

支持

检查和快速修复
  • 无效,丢失和重复的密钥

  • 不可编辑(只读)的密钥和资源

  • 不推荐使用的密钥和资源

  • 无效的整数和枚举键值

  • 无效,缺失和重复的属性

实时模板

常见配置类型的预定义模板:

  • kcm:ConfigMap

  • kdepDeployment

  • kpod:Pod

  • kresGeneric resource

  • kserService

没有预定义的实时模板

智能完成

支持

不支持

标签定义和选择器

使用装订线图标导航,查找用法和重命名

不支持

原始Kubernetes模型的增强功能

在适用的情况下,枚举而不是纯字符串

没有

资源配置文件

IntelliJ IDEA使用以下必填字段识别Kubernetes资源配置文件:

  • apiVersion:标识对象表示的版本化模式
  • kind:标识对象类型(例如,Service,Pod,Deployment,等等)

如果以前的两个字段都存在于YAML或JSON文件中,IntelliJ IDEA将使用相应的Kubernetes图标标记该文件并启用所有可用功能:

e21ad48e-5530-42e6-836e-98793c3b2264

对于YAML文件,您还可以使用预定义的实时模板来创建必要的配置类型:

9eef6543-8ec9-4e4c-b97b-c6486fe90d62

要查看可用的实时模板并创建新模板,请打开“设置/首选项”对话框(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,然后双击某个操作为其设置快捷方式。

IntelliJ IDEA:在一个项目中混合使用Java和Kotlin
IntelliJ IDEA使用之Markdown
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }