Cloud Code for VS Code で Google Cloud と Kubernetes YAML を操作する

Cloud Code for VS Code は、構造と有効な値の両方のスキーマに 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 は、現在のスキーマに基づいてコンテキスト補完を行い、関連するドキュメントを表示します。これにより、正しいオプションを簡単に選択できます。

Kubernetes スキーマのコンテキスト補完

YAML スキーマを検証する

Cloud Code は、YAML ファイル内の無効なタグと値を報告し、可能な場合には修正を提案することで、スキーマの検証をサポートします。

名前フィールドの値に赤い下線が付され、無効な値「1234」がハイライト表示されています。テキストにカーソルを合わせると「データの型が正しくありません。」と表示されます。想定される文字列。

カーソルを置いてドキュメントを表示する

スキーマ内の値の上にポインタを置くと、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 ファイル内のエラーの説明を表示するには、黄色の下線が引かれたコードの上にポインタを置きます。

サーバー側のドライラン検証は、「hello.deployment.yaml」で失敗し、トーストとしてエラー メッセージが表示されます。エラーの詳細は出力チャネルで確認できます。名前空間「random-namespace」は存在しません

Cloud Code が Kubernetes サーバーでチェックする前に、検出されたエラーに対して赤色の波線が表示されます。たとえば、文字列が想定される数字を入力すると、赤色の波線がトリガーされます。

Secret を操作する

構成マップと Secret の使用は、Kubernetes を使用して作業を行ううえで重要な部分です。Cloud Code で Base64 の Secret の内容を表示するには、Secret の上にポインタを置いてデコードします。

Secret の上にポインタを置いて Secret をデコードする

次のステップ

サポートを利用する

フィードバックを送信するには、GitHub で問題を報告します。または、Stack Overflow で質問します。