IntelliJ IDEA使用之Kubernetes插件

2019-02-19 15:28 更新

Kubernetes

Kubernetes支持容器化應(yīng)用程序的部署,擴(kuò)展和管理。IntelliJ IDEA通過(guò)Kubernetes插件為Kubernetes資源配置文件提供支持。 

注意:該Kubernetes插件未與IntelliJ IDEA捆綁在一起,應(yīng)該從JetBrains插件庫(kù)單獨(dú)安裝。

Kubernetes插件從1.5版開始支持Kubernetes API。 它為YAML中的資源配置文件提供了豐富的支持,并且只支持JSON格式。

功能

YAML

JSON

自動(dòng)完成

支持

支持

快速文檔

支持

支持

檢查和快速修復(fù)
  • 無(wú)效,丟失和重復(fù)的密鑰

  • 不可編輯(只讀)的密鑰和資源

  • 不推薦使用的密鑰和資源

  • 無(wú)效的整數(shù)和枚舉鍵值

  • 無(wú)效,缺失和重復(fù)的屬性

實(shí)時(shí)模板

常見配置類型的預(yù)定義模板:

  • kcm:ConfigMap

  • kdepDeployment

  • kpod:Pod

  • kresGeneric resource

  • kserService

沒有預(yù)定義的實(shí)時(shí)模板

智能完成

支持

不支持

標(biāo)簽定義和選擇器

使用裝訂線圖標(biāo)導(dǎo)航,查找用法和重命名

不支持

原始Kubernetes模型的增強(qiáng)功能

在適用的情況下,枚舉而不是純字符串

沒有

資源配置文件

IntelliJ IDEA使用以下必填字段識(shí)別Kubernetes資源配置文件:

  • apiVersion:標(biāo)識(shí)對(duì)象表示的版本化模式
  • kind:標(biāo)識(shí)對(duì)象類型(例如,Service,Pod,Deployment,等等)

如果以前的兩個(gè)字段都存在于YAML或JSON文件中,IntelliJ IDEA將使用相應(yīng)的Kubernetes圖標(biāo)標(biāo)記該文件并啟用所有可用功能:

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

對(duì)于YAML文件,您還可以使用預(yù)定義的實(shí)時(shí)模板來(lái)創(chuàng)建必要的配置類型:

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

要查看可用的實(shí)時(shí)模板并創(chuàng)建新模板,請(qǐng)打開“設(shè)置/首選項(xiàng)”對(duì)話框(Ctrl + Alt + S),單擊“編輯器”,然后單擊“實(shí)時(shí)模板”,然后展開列表中的Kubernetes組。

Helm支持

Helm是一個(gè)管理Kubernetes應(yīng)用程序的工具。Helm圖表是您在Kubernetes集群中運(yùn)行的預(yù)配置資源定義的包。圖表包含包的描述(Chart.yaml)以及用于生成Kubernetes清單文件的一個(gè)或多個(gè)模板。

在Helm模板語(yǔ)法支持需要Go Template插件。

Helm圖表和模板的編碼輔助包括代碼完成,重構(gòu),檢查,快速修復(fù)和快速文檔。此外,可以使用裝訂線圖標(biāo)在標(biāo)簽定義和標(biāo)簽選擇器之間以及重寫和覆蓋值之間進(jìn)行導(dǎo)航。

創(chuàng)建一個(gè)新的Helm圖表

  • 右鍵單擊“項(xiàng)目”工具窗口中的任何目錄,指向“Kubernetes”,然后單擊“Helm Create Chart”。

這將運(yùn)行helm create命令,該命令將添加入門所需的所有基本文件:

  • .helmignore:構(gòu)建包時(shí)要忽略的模式

  • Chart.yaml:包含元數(shù)據(jù)的基本圖表說(shuō)明

  • values.yaml:圖表模板的默認(rèn)值

  • charts/:子圖表的目錄

  • templates/:圖表定義的目錄

    • _helpers.tpl:模板的部分和功能

    • NOTES.txt:部署圖表后打印出來(lái)的信息

    • deployment.yaml:示例Kubernetes部署定義

    • ingress.yaml:示例Kubernetes入口定義

    • service.yaml:示例Kubernetes服務(wù)定義

預(yù)覽Helm模板渲染的結(jié)果

  • 右鍵單擊模板文件,指向Kubernetes,然后單擊Helm Template。

這將運(yùn)行呈現(xiàn)圖表模板的helm template命令。渲染預(yù)覽在diff查看器對(duì)話框中打開,以將其與原始模板文件進(jìn)行比較。

更新外部依賴項(xiàng)

如果圖表具有requirements.yaml文件,則可以更新或下載相應(yīng)的tgz依賴項(xiàng)。此操作還會(huì)生成或更新requirements.lock。

  • 右鍵單擊圖表,指向Kubernetes,然后單擊Helm Dependency Update。

這將運(yùn)行helm依賴項(xiàng)更新命令。

檢查圖表是否存在可能的問(wèn)題

  • 右鍵單擊圖表,指向Kubernetes,然后單擊Helm Lint。

這將運(yùn)行helm lint命令,該命令執(zhí)行一系列測(cè)試以發(fā)現(xiàn)可能的問(wèn)題,而無(wú)需實(shí)際安裝圖表。

生產(chǎn)力提示

如果您經(jīng)常使用此處描述的功能,以下提示可能會(huì)有所幫助:

分配快捷方式

您可以為IntelliJ IDEA中的任何操作指定鍵盤快捷鍵。在“設(shè)置/首選項(xiàng)”對(duì)話框(Ctrl+Alt+S)中,選擇“鍵盤映射”。在搜索字段中鍵入kubernetes,然后雙擊某個(gè)操作為其設(shè)置快捷方式。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)