在 Cloud Code for IntelliJ 中使用 Google Cloud 和 Kubernetes YAML 檔案

Cloud Code 專門用於編輯 Google Cloud 和 Kubernetes 相關設定檔,包括結構定義驗證、診斷和快速文件。

的檔案的 YAML 編輯功能

支援的 YAML 設定檔

Cloud Code 也支援常見的 Kubernetes CRD,例如 Kubeflow

啟用或停用 YAML 支援

如要啟用或停用 YAML 支援功能,請依序前往「File」>「Settings」>「Tools」>「Gemini + Google Cloud Code」>「Kubernetes」 (適用於 Windows 和 Linux),或「IntelliJ IDEA」>「Settings」>「Tools」>「Gemini + Google Cloud Code」>「Kubernetes」 (適用於 macOS),然後選取或取消選取「Enable YAML support」核取方塊,即可啟用或停用這項功能。

使用自訂結構定義

使用 Cloud Code 時,您可以透過 IntelliJ 設定提供自己的 CRD 架構,方法是依序前往「File」>「Settings」>「Tools」>「Gemini + Google Cloud Code」>「Kubernetes」 (適用於 Windows 和 Linux),或「IntelliJ IDEA」>「Settings」>「Tools」>「Gemini + Google Cloud Code」>「Kubernetes」 (適用於 macOS),然後參閱「CRD 架構位置」一節。

您可以指向本機檔案或網址。指向 github.com 的網址會自動轉換為 raw.githubusercontent.com

從叢集提取結構定義

Kubernetes Explorer 中切換至執行 Kubernetes v1.16+ 的叢集時,Cloud Code 會自動擷取所有已安裝 CRD 的結構定義。

其他 Skaffold 支援

Skaffold 是支援 Cloud Code 的基礎引擎,可協助您建構、推送及部署應用程式,並提供建立 CI/CD 管道的支援。

Cloud Code 提供額外支援,可管理 Skaffold 設定檔。開啟專案時,Cloud Code 會偵測未更新的 Skaffold 結構定義,並在現有的 Skaffold YAML 設定檔可升級 Skaffold 結構定義版本時,透過事件記錄提示您。

事件記錄中的通知,提示使用者升級 Skaffold 結構定義版本,因為他們現有的 Skaffold YAML 檔案並非最新版本

或者,您也可以依序前往「Tools」>「Gemini + Cloud Code」>「Kubernetes」>「Check for Skaffold Schemas Upgrades」,檢查是否有可用的結構定義升級。

使用程式碼片段進行設定

一般 YAML 結構定義的立即可用程式碼片段 (使用 Ctrl + Space 鍵可查看選項),可讓您建立新 YAML 檔案或新增至現有 YAML 檔案,不但過程準確無誤,還能同時兼顧最佳做法。此外,處理重複欄位也更加輕鬆;只要填入一項,Cloud Code 即能填完剩餘的執行個體。

針對重複欄位使用程式碼片段

Cloud Code 提供以下程式碼片段:

  • Cloud Build - Cloud Run deployment
  • Cloud Build - Docker container build
  • Cloud Build - GKE deployment
  • Cloud Build - GKE Skaffold deployment
  • Cloud Build - Go build
  • Cloud Build - Terraform plan + apply
  • Config Connector - BigQueryDataset
  • Config Connector - BigQueryTable
  • Config Connector - BigtableCluster
  • Config Connector - BigtableInstance
  • Config Connector - PubSubSubscription
  • Config Connector - PubSubTopic
  • Config Connector - RedisInstance
  • Config Connector - SpannerInstance
  • Kubernetes - ConfigMap
  • Kubernetes - Deployment
  • Kubernetes - Ingress
  • Kubernetes - Pod
  • Kubernetes - Service
  • Migrate to Containers - Export
  • Migrate to Containers - PersistentVolumeClaim
  • Migrate to Containers - StatefulSet
  • Skaffold - Bazel
  • Skaffold - Getting-started
  • Skaffold - Helm deployment
  • Skaffold - Kaniko

依內容完成

Cloud Code 會根據目前的結構定義,提供內容相關的自動完成功能,協助您選擇正確的選項。

Kubernetes 結構定義的關聯內容自動完成選項

驗證 YAML 結構定義

Cloud Code 提供結構定義驗證支援,會在 YAML 檔案中標示無效的標記和值,並盡可能建議修正方式。

名稱欄位的值以紅色底線標示,以便醒目顯示無效的值 1234;懸停文字指出:類型不正確。預期的字串。

驗證 Skaffold YAML 檔案

Cloud Code 提供額外的 Skaffold 設定檔編輯支援功能和智慧型範本,可讓您驗證 skaffold.yaml 檔案。請參閱這份指南,瞭解如何搭配使用現有應用程式和 Cloud Code。

Skaffold YAML 範本

根據內容完成 Skaffold 設定檔

Cloud Code 將依據目前的結構定義,提供內容相關的自動完成功能及相關文件,協助您選擇正確的選項。

Skaffold 完成作業

使用快速說明文件查看定義

在設定檔中醒目顯示一行,然後前往「View」>「Quick Documentation」,Cloud Code 就會顯示資源的相關說明文件。

快速說明文件

使用 Lint 檢查 YAML 的結構和有效性問題

Cloud Code 提供常見結構定義問題的 linting 支援,並提供描述性錯誤。

對 YAML 檔案進行 Linting

套用 YAML 檔案

如要執行 kubectl apply -f 以使用目前的檔案套用設定變更,您可以使用 IDE 空白區中的 kubectl 動作圖示 kubectl 動作圖示,然後選取「Apply」。這會顯示差異檢視畫面,讓您查看變更內容,然後再按一下「Apply」

套用 kubectl 動作清單中醒目的選項

比較 YAML 檔案之間的差異

如要查看來源控制項和已部署 YAML 檔案之間的 YAML 檔案差異,可以使用編輯器空白區提供的 kubectl 動作圖示 kubectl 動作圖示。選取「Diff」選項,即可查看差異比較檢視畫面,比較及對比兩個結構定義檔案。

kubectl 動作清單中醒目顯示的差異選項

執行 YAML 檔案的模擬測試

如要執行檔案的模擬運作並檢查其有效性,您可以使用 IDE 空白區中的 kubectl 動作圖示 kubectl 動作圖示,選取「在伺服器上模擬運作」或「在用戶端上模擬運作」。這會執行 kubectl apply -f dry-run=server (或用戶端選項的 kubectl apply -f dry-run=client),並通知您是否可以在終端機視窗中成功建立檔案。

在 kubectl 動作清單中醒目顯示的「在伺服器上模擬」選項

後續步驟

取得支援

如要在 IntelliJ IDE 中提交意見回饋或回報問題,請依序前往「Tools」 >「Cloud Code」 >「Help / About」 >「Submit feedback or report an issue」,即可在 GitHub 上回報問題。