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

Cloud Code 專門為了協助編輯 Google Cloud Kubernetes 相關設定檔而設計,包括以結構定義為基礎的驗證、診斷和快速文件。

支援的 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 + 空格鍵檢視選項),可讓您建立新 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 會顯示資源的相關說明文件。

快速說明文件

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

Cloud Code 支援常見結構定義問題的 Lint 檢查,並提供說明性錯誤。

對 YAML 檔案執行 Lint

套用 YAML 檔案

如要執行 kubectl apply -f,使用目前檔案套用設定變更,可以點選 IDE 裝訂邊欄中的 kubectl 動作圖示 kubectl 動作圖示,然後選取「套用」。系統會顯示差異檢視畫面,讓您先檢查變更,再按一下「套用」

kubectl 動作清單中醒目標示的「套用」選項

比較 YAML 檔案之間的差異

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

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

模擬執行 YAML 檔案

如要對檔案執行試運算並檢查有效性,可以使用 kubectl 動作圖示 kubectl 動作圖示,在 IDE 的裝訂邊選取「Dry-run on Server」或「Dry-run on Client」。這會執行 kubectl apply -f dry-run=server (或「Client」選項的 kubectl apply -f dry-run=client),並在終端機視窗中成功建立檔案時通知您。

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

後續步驟

取得支援

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