Cloud Code for VS Code 專門為了讓 Kubernetes 和 Cloud Build 設定更容易而設計,其結構定義方便檢查原始碼結構和有效值並提供錯誤敍述。Cloud Code 也提供立即可用的一般結構定義解決方案、智慧型完成作業,以及將游標放置上方即可查看說明文件的功能。
支援的 YAML 設定檔
Cloud Code 也支援立即可用的熱門 Kubernetes 自訂資源定義 (CRD),例如 Kubeflow。
使用自訂結構定義
您可以使用 Cloud Code,在 settings.json 檔案中提供自己的 CRD 結構定義,並設定 cloudcode.yaml.crdSchemaLocations。您可以指向本機檔案或網址。指向 github.com 的網址會自動轉換為 raw.githubusercontent.com。
從叢集提取結構定義
在 Kubernetes 檢視畫面中切換至執行 Kubernetes 1.16 以上版本的叢集時,Cloud Code 會自動擷取所有已安裝 CRD 的結構定義。
使用程式碼片段進行設定
一般 YAML 結構定義的立即可用程式碼片段 (使用 Command/Ctrl+Space 來查看選項),可讓您輕鬆建立新 YAML 檔案或新增至現有 YAML 檔案,不但過程準確無誤,還能同時兼顧最佳做法。Cloud Code 會在您填入第一個欄位後,填入剩餘的例項,讓您更輕鬆地處理重複欄位。
Cloud Code 提供以下程式碼片段:
- Anthos Config Management - Cluster
- Anthos Config Management - Cluster Selector
- Anthos Config Management - Config Management
- Anthos Config Management - Namespace Selector
- 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 - Secret
- 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 將依據目前的結構定義,提供內容相關的自動完成功能及相關文件,協助您選擇正確的選項。

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

懸停游標即可查看說明文件
當您將游標懸停在結構定義中的某個值上,Cloud Code 即會呈現相關說明文件。

存取資源定義
如要查看資源的定義,請在資源上按一下滑鼠右鍵,然後選擇「Go to Definition」或「Peek Definition」。
套用 YAML 檔案
如要使用目前的檔案套用設定變更,請開啟指令面板 (按下 Ctrl/Cmd+Shift+P 鍵,或依序點選「View」 >「Command Palette」),然後執行「Cloud Code: Apply Current JSON/YAML File to K8s Deployed Resource」。
這個指令會顯示差異比較視圖,方便您查看變更內容。系統提示是否要套用這項變更時,請按一下「套用」。這會執行 kubectl apply -f。
查看 YAML 檔案之間的差異
如要查看來源控制項和已部署 YAML 檔案之間的 YAML 檔案差異,請開啟指令面板 (按下 Ctrl/Cmd+Shift+P 鍵,或依序點選「View」 >「Command Palette」),然後執行「Cloud Code: Diff Current JSON/YAML File with K8s Deployed Resource」。
執行 YAML 檔案的模擬測試
您在 YAML 檔案中輸入資訊時,Cloud Code 會自動執行模擬執行作業,並以黃色波浪線標示任何錯誤。
如果伺服器根據模擬執行結果,將程式碼的部分內容視為錯誤,就會顯示黃色波浪線。這可能包括違反政策、重複名稱,或是 Cloud Code 未在用戶端執行的驗證 (例如最大連接埠數量)。
如要查看 YAML 檔案中的錯誤說明,請將游標懸停在底線為黃色的程式碼上。

在 Cloud Code 向 Kubernetes 伺服器進行檢查之前,系統會針對偵測到的錯誤顯示紅色波浪線。舉例來說,如果在需要字串的地方輸入數字,系統會顯示紅色波浪線。
使用密鑰
使用設定對應和密鑰是使用 Kubernetes 的重要部分。如要使用 Cloud Code 查看 base64 密鑰內容,請將游標懸停在密鑰上方,即可解碼。

後續步驟
- 建立 Cloud Code Kubernetes 執行設定 
skaffold.yaml檔案。
- 手動為應用程式建立 Skaffold 設定。
- 請參閱 Skaffold.yaml參考文件。