Cloud Code for Cloud Shell は、構造と有効な値の両方のスキーマに lint チェックを実行し、エラーの説明を表示することで、Kubernetes と Cloud Build の構成を容易にするよう設計されています。また、Cloud Code には一般的なスキーマ、スマート補完、ホバー操作でのドキュメント表示など、既定のソリューションが用意されています。
サポートされる YAML 構成ファイル
Cloud Code は、既定の Kubeflow などの Kubernetes カスタム リソース定義(CRD)もサポートしています。
カスタム スキーマを使用する
Cloud Code を使用すると、settings.json
ファイルの cloudcode.yaml.crdSchemaLocations
設定により独自の CRD スキーマを指定できます。ローカル ファイルまたは URL のどちらかを指定できます。github.com
を指す URL は自動的に raw.githubusercontent.com
に変換されます。
クラスタからスキーマを pull する
Kubernetes ビューで Kubernetes v1.16 以降が実行されているクラスタに切り替えると、Cloud Code によってインストールされているすべての CRD のスキーマが自動的に pull されます。
スニペットで構成する
一般的な YAML スキーマ用の標準装備のスニペット(Command/Ctrl+Space
を使用してオプションを表示)を使用すると、新しい 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 が関連ドキュメントを表示します。
リソース定義にアクセスする
リソースの定義を表示するには、リソースを右クリックして [定義に移動する] または [定義をピークする] を選択します。
YAML ファイルを適用する
現在のファイルを使用して構成の変更を適用するには、コマンド パレット(Ctrl
/Cmd
+Shift
+P
を押下または、表示 > コマンド パレットをクリック)を使用して、Cloud Code: 現在の JSON/YAML ファイルを K8s のデプロイ済みリソースに適用を実行します。
このコマンドにより、差分ビューが表示され、違いを比較できます。変更を適用するかどうかを尋ねられたら、[適用] をクリックします。これにより、kubectl apply -f
が実行されます。
YAML ファイル間の違いを表示する
ソース管理の YAML ファイルとデプロイされた YAML ファイルの違いを表示するには、コマンド パレットを開き(Ctrl
/Cmd
+Shift
+P
を押下するか、[表示] > [コマンド パレット] をクリック)、[Cloud Code: Diff Current JSON/YAML File with K8s Deployed Resource] を実行します。
YAML ファイルのドライランを行う
Cloud Code では、YAML ファイルに情報を入力すると自動的にドライランが行われ、黄色の波線でエラーが強調されます。
ドライランの結果に基づいて、サーバーがコードの一部をエラーと判断すると、黄色の波線が表示されます。これには、ポリシー違反、重複名、クライアント側で Cloud Code が行わない検証(最大ポート番号など)が含まれます。
YAML ファイル内のエラーの説明を表示するには、黄色の下線が引かれたコードの上にポインタを置きます。
Cloud Code が Kubernetes サーバーでチェックする前に、検出されたエラーに対して赤色の波線が表示されます。たとえば、文字列が想定されている場所に数値を指定すると、赤い波線がトリガーされます。
Secret を操作する
構成マップと Secret の使用は、Kubernetes を使用して作業を行ううえで重要な部分です。Cloud Code で Base64 の Secret の内容を表示するには、Secret の上にポインタを置いてデコードします。
次のステップ
- Cloud Code Kubernetes 実行構成
skaffold.yaml
ファイルを作成する。 - アプリケーションの Skaffold 構成を手動で作成する。
Skaffold.yaml
リファレンス ドキュメントを見る。