Cloud Code for IntelliJ で Google Cloud と Kubernetes YAML ファイルを操作する

Cloud Code は、Google Cloud と Kubernetes 関連の構成ファイル(スキーマベースの検証、診断、クイック ドキュメントなど)の編集に役立つように設計されています。

サポートされる YAML 構成ファイル

Cloud Code は、すぐに使える Kubeflow などの人気のある Kubernetes CRD もサポートしています。

YAML サポートを有効または無効にする

YAML サポートを有効または無効にするには、[ファイル] > [設定] > [ツール] > Gemini + Google Cloud Code > Kubernetes(Windows および Linux の場合)または IntelliJ IDEA > [設定] > [ツール] > [Gemini + Google Cloud Code > [Kubernetes](macOS の場合)に移動し、[Enable YAML support] のチェックボックスを選択または選択解除にして、この機能を有効または無効にします。

カスタム スキーマを使用する

Cloud Code では、[ファイル] > [設定] >[ツール] > [Gemini + Google Cloud Code] > [Kubernetes](Windows および Linux の場合)または [IntelliJ IDEA] > [設定] > [ツール] > Gemini + Google Cloud Code > Kubernetes(macOS の場合)に移動することにより IntelliJ 設定で CRD スキーマを提供でき、 CRD スキーマのロケーション セクションを参照します。

ローカル ファイルまたは URL のどちらかを指定できます。github.com を指す URL は自動的に raw.githubusercontent.com に変換されます。

クラスタからスキーマを pull する

Kubernetes Explorer で Kubernetes v1.16+ を実行しているクラスタに切り替えると、Cloud Code によってインストールされているすべての CRD のスキーマが自動的に pull されます。

Skaffold の追加のサポート

Skaffold は Cloud Code の機能を強化する基盤となるエンジンで、アプリケーションのビルド、push、デプロイと、CI/CD パイプラインの作成に役立ちます。

Cloud Code には、Skaffold 構成ファイルを管理するための追加サポートが含まれています。プロジェクトを開くと、Cloud Code で最新でない Skaffold スキーマが検出され、既存の Skaffold YAML 構成ファイルで Skaffold スキーマ バージョンのアップグレードが利用可能になると、イベントログを介してプロンプトが表示されます。

既存の Skaffold YAML ファイルが最新バージョンではないため、イベントログ内の通知で Skaffold スキーマ バージョンのアップグレードを求めるメッセージが表示されます。

または、[Tools] > [Gemini + Cloud Code] > [Kubernetes] > [Skaffold スキーマのアップグレードを確認に移動して、利用可能なスキーマのアップグレードを確認します。

スニペットで構成する

一般的な YAML スキーマ用の標準装備のスニペット(Ctrl+Space を使用してオプションを表示)を使用すると、新しい YAML ファイルを簡単に構成でき、ベスト プラクティスの手順に沿って既存のファイルに追加することもできます。繰り返しフィールドの操作も簡単です。1 つのフィールドに入力すると、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 の補完

クイック ドキュメントを使用して定義を確認する

Cloud Code では、構成ファイル内の行をハイライト表示し、[View] > [Quick Documentation] を選択すると、リソースに関連するドキュメントが表示されます。

クイック ドキュメント

構造と有効性の問題に関する YAML の lint

Cloud Code は、一般的なスキーマの問題に関する lint チェックをサポートし、わかりやすいエラーを表示します。

YAML ファイルの lint チェック

YAML ファイルを適用する

kubectl apply -f を実行して、現在のファイルを使って構成の変更を適用するには、IDE のガターにある kubectl アクション アイコン kubectl actions アイコン を使用して [Apply] を選択します。表示される差分ビューで、[Apply] をクリックする前に違いを確認できます。

kubectl アクション リストでハイライト表示されている Apply オプション

YAML ファイルの差分

ソース管理の YAML ファイルとデプロイされた YAML ファイルの違いを表示するには、エディタのガターにある kubectl アクション アイコン kubectl actions アイコン を使用します。[Diff] オプションを選択すると、2 つのスキーマ ファイルを比較できます。

kubectl アクション リストでハイライト表示されている Diff オプション

YAML ファイルのドライランを行う

ファイルのドライランを実行して有効性を確認するには、IDE のガターにある kubectl アクション アイコン kubectl actions アイコン を使用して [Dry-run on Server] または [Dry-run on Client] を選択します。これにより、kubectl apply -f dry-run=server(またはクライアント オプションの場合は kubectl apply -f dry-run=client)が実行され、ターミナル ウィンドウでファイルを正常に作成できるかどうかが通知されます。

kubectl アクション リストでハイライト表示されている Dry-run on Server オプション

次のステップ

サポートを受ける

IntelliJ IDE でフィードバックを送信するか、問題を報告するには、[Tools] > [Cloud Code] > [Help / About] > [Submit feedback or report an issue] を選択します。ここから、GitHub で問題を報告できます。