Cloud Code for IntelliJ Kubernetes の概要

このページでは、Cloud Code での Kubernetes 開発の概要について説明します。

Cloud Code で Kubernetes Explorer を使用する

Kubernetes Explorer ペインを使用すると、IDE から直接、クラスタ、ノード、ワークロードなどに関する情報にアクセスできます。 また、Kubernetes Explorer で現在のコンテキストの設定ログのストリーミングと表示インタラクティブ ターミナルのオープンリソースの説明の検索ができます。

Cloud Code の Kubernetes Explorer

Cloud Code は、MacOS/Linux の $HOME/.kube ディレクトリまたは Windows の %USERPROFILE%\.kube ディレクトリにあるデフォルトの kubeconfig ファイルを使用して、Kubernetes リソースを取得します。新しい Kubeconfig ファイルは、Kubernetes Explorer 内から切り替えまたは追加できます。Kubeconfig ファイルは、Kubernetes クラスタの詳細、証明書、クラスタに対する認証用のシークレット トークンを含む YAML ファイルです。

デフォルトの kubeconfig 以外の kubeconfig ファイルを使用するには、kubeconfig ファイルの操作ガイドをご覧ください。

Kubernetes Explorer にアクセスする

Kubernetes リソースを表示して管理するには、右側のサイドパネルからアクセスできる Kubernetes Explore を使用します。または、[ツール] > [Cloud Code] >[Kubernetes] > [Cluster Explorer を表示] からもアクセスできます。

開発、デバッグのセッションを開始すると、[Development sessions] セクションに構造化ロギングビューが表示されます。

[開発セッション] ペイン

基本操作

Kubernetes Explorer では kubectl が使用されています。クラスタにアクセスするように kubectl コンテキストを構成すると、アクティブまたは非アクティブのコンテキストに関係なく、Kubernetes Explorer を使用して、クラスタの追加、クラスタのすべての Namespace、リソース、ノードの参照を行うことができます。

Kubernetes の Explorer アイコンからアクセスできる Kubernetes の一般的なアクションは次のとおりです。

  • サンプル アイコンから新しい Kubernetes アプリにアクセスする サンプルから新しい Kubernetes アプリケーションを作成する
  • エクスプローラ アイコンを更新する Explorer を更新する
  • ドキュメント アイコンを開く ウェブブラウザで Cloud Code Kubernetes ドキュメントを開く

Kubernetes の Explorer アイコンからアクセスできる Kubernetes のその他の一般的なデバッグ アクションは次のとおりです。

  • Run アイコン 現在の Run/Debug 構成を実行する。
  • デバッグ アイコン 実行構成をデバッグモードで起動する。
  • デバッグ停止アイコン アクティブなデバッグ セッションを停止する。

リソース名をコピーする

Kubernetes リソース名(コンテナ名とクラスタ名を含む)をクリップボードにコピーできます。リソース名をコピーするには、リソースを右クリックして [リソース名をコピー] を選択します。

右クリック メニューを使用してリソース名をコピーする

リソースを更新する

Kubernetes Explorer により変更が監視され、更新を反映するために自動的に更新されます。Kubernetes リソースを強制的に更新して最新の情報を取得するには、リソースを右クリックして [更新] を選択します。

右クリック メニューを使用して Pod を更新する

Kubernetes Explorer の更新ボタンを使用して、Kubernetes Explorer 全体を強制的に更新することもできます。 Kubernetes Explorer の更新ボタン

リソースを説明する

クラスタ以外のリソースの詳細を表示するには、リソースを右クリックして [説明] を選択します。リソース情報は、Kubernetes Explorer Console パネルに表示されます。

説明オプションは、Kubernetes Explorer パネル内で適切なリソースを右クリックして [説明] を選択することで使用できます。

任意のリソースをクリックして、リソースの詳細を表示することもできます。メタデータが添付されている場合、そのメタデータは Kubernetes Explorer の [Resource Details] パネルに表示されます。

Kubernetes Explorer の後半にある Resource Details パネルでリソース メタデータを表示する

Skaffold のオプション

  • Skaffold 構成 - skaffold.yaml 構成ファイルを選択します。 プロジェクトに skaffold.yaml がある場合は、自動的に検出されます。
  • Deployment プロファイル - skaffold.yaml ファイルで構成可能なオプションからプロファイルを選択します。
  • Environment variables - Skaffold デプロイ プロセスに渡す追加の環境変数を構成できます。Skaffold フラグは、このフィールドで使用する環境変数としても構成できます。利用可能な Skaffold の環境変数の包括的は一覧については、Skaffold CLI リファレンス ドキュメントをご覧ください。
  • Verbosity - 出力の詳細レベルを tracedebuginfowarnerrorfatal に設定できます。デフォルトの詳細レベルは warn です。

Kubernetes のオプション

  • Deployment Context - アプリケーションのデプロイに使用される Kubernetes コンテキストを表します。デプロイ コンテキストが指定されていない場合、デフォルトの動作は、現在のシステム コンテキスト(ある場合)にデプロイされます。

    現在のコンテキストにデプロイしない場合は、[Run/Debug] の [Deployment] セクションで以下を選択できます。

    • minikube クラスタにローカルでデプロイ - Cloud Code 管理の minikube クラスタを起動してアプリを実行し、デプロイが停止するとクラスタを停止します。minikube クラスタがすでに実行されている場合、Cloud Code は既存の minikube クラスタをデプロイに使用します。
    • [Switch context and deploy to] - 現在のコンテキストをデプロイ時にシステムの指定コンテキストに変更します。

      Cloud Code Kubernetes 構成の Kubernetes デプロイ コンテキストの選択。

  • Delete deployments when finished - プロセスが終了すると Kubernetes デプロイを削除します。これはデフォルトの動作です。あるいは、この設定を切り替えて、デプロイが削除されないようにすることもできます。

起動構成をカスタマイズする

アプリケーションの実行方法を設定するには、skaffold.yaml ファイルをカスタマイズできます。

起動は [Run/Debug 構成] で設定することもできます。構成を編集するには、[実行] > [構成を編集] に移動します。

リモート YAML を表示する

Kubernetes Explorer から、クラスタ内のリソースの YAML を表示できます。Kubernetes Explorer で Pod などのリソースに移動し、リソース名を右クリックして [リモート YAML を表示] を選択します。

指定したリソースに対応する YAML ファイルが、新しいエディタタブで開きます。

Kubernetes Explorer で Pod のラベルを右クリックし、[リモート YAML を表示] を選択して、Pod の YAML を表示する

ログの表示

Kubernetes リソースから Kubernetes Explorer コンソールにログをストリーミングして表示し、進捗状況をモニタリングできます。

アプリケーションが通常モードまたは開発モードでビルドされ、実行されると、アプリケーションからのログ ストリーミングを IDE の内部からモニタリングできるようになります。

Hello World Java アプリケーションからのストリームログの表示

Kubernetes Explorer に移動して、特定のサービスのログを表示することもできます。

ログを表示するリソース(Pod、Deployment、サービスなど)を選択します。

  1. リソースを右クリックして [Stream Logs] を選択します。また、Pod で実行されている個々のコンテナのログをストリーミングすることもできます。

    これにより、Kubernetes Explorer Console にログが出力されます。

Deployment 内のリソースのステータスを表示するには、次の手順に従います。

  • Pod、デプロイメント、ノードのステータス: これらの Kubernetes リソースのラベルの横にはマークがあり、ステータスに応じて色分けされています。失敗状態は赤、開始中 / 終了中 / 警告は黄色、望ましい正常な状態は緑色です。

    Pod のラベルの横にある緑色のチェックマークは、正常なステータスを示しています

  • デプロイされたリソースの説明: デプロイされたリソースで kubectl describe を実行すると、右クリックして [説明] を選択することで、詳細を表示できます。

    説明オプションは、Kubernetes Explorer パネル内で適切なリソースを右クリックして [説明] を選択することで使用できます

ターミナルを起動する

Pod とコンテナの場合は、Pod またはコンテナを右クリックして [ターミナルを取得] を選択することで、インタラクティブ ターミナルを開くことができます。

インタラクティブ ターミナルを開く

リソース固有の操作

Kubernetes Explorer には、クラスタ、Namespace、ノード、ワークロード(Deployment、レプリカセット、Pod、コンテナなど)、サービスと Ingress、構成(Secret、構成マップなど)、ストレージ(ボリュームなど)が表示されます。Kubernetes Explorer を使用すると、これらのリソースの一部に対して独自のアクションを実行できます。

サイドパネルから Kubernetes Explorer にアクセスするか、[ツール] > [Cloud Code] > [Kubernetes] > [Cluster Explorer を表示] に移動します。

右側のタスクバーのタブを使用して開いた Kubernetes Explorer パネル

デプロイされたリソースの詳細を表示するには、Kubernetes Explorer でリソースラベルを右クリックして、[説明] をクリックします。

[Describe] オプションは、Kubernetes Explorer パネル内で適切なリソースを右クリックして [Describe] を選択すると使用できます。

クラスタ

  • Google Kubernetes Engine クラスタを追加します。既存の Standard GKE クラスタか Autopilot GKE クラスタを追加するか、または Kubernetes Explorer の [A+ Add GKE Cluster] をクリックして、新しいクラスタを作成します。

[Add Cluster] ダイアログが表示されるので、使用するプロジェクトとクラスタを選択するか、新しいクラスタを作成します。

完了したら、[OK] をクリックして、Kubernetes Explorer で選択したクラスタとその基盤となるリソースにアクセスします。

プロジェクトとクラスタ名のフィールドを含む Kubernetes Explorer ダイアログを使用した GKE クラスタの追加

  • 現在のコンテキストに設定: 指定されたクラスタをアクティブとして設定し、構成済みの kubectl コンテキストがデフォルトでこのクラスタにアクセスするようにします。

    Kubernetes Explorer でクラスタを現在のコンテキストとして設定

Kubernetes Explorer が自動的に更新され、該当するクラスタの横に Kubernetes の記号が表示されます。

クラスタに複数のコンテキストが構成されている場合は、使用可能なコンテキストの 1 つを選択して、現在のコンテキストとして設定できます。

Kubernetes Explorer で複数のコンテキストのリストからアクティブなクラスタを選択して設定する

Namespace

  • 現在のコンテキストに設定: 指定された Namespace をアクティブとして設定し、構成済みの kubectl コンテキストがデフォルトでこの Namespace にアクセスするようにします。

    右クリック メニューを使用して Namespace を現在のコンテキストとして設定する

この操作が成功すると、Kubernetes Explorer が自動的に更新され、現在のコンテキストの一部であることを示すため、Namespace の横にアスタリスクが表示されます。

Kubernetes コンテキストは、クラスタ内の Namespace にすばやくアクセスするためのショートカットです。コンテキストは通常、minikube クラスタまたは GKE クラスタを起動すると自動的に作成されます。特定の Namespace に対して [現在のコンテキストに設定] オプションが表示されず、そのコンテキストを作成する場合は、ターミナルで kubectl config set-context コマンドを使用して、好みのクラスタ、ユーザー、Namespace でコンテキストを設定します。

Pod

  • ログの表示: Pod から Kubernetes Explorer Console にログを表示します。
  • ターミナルの取得: Kubernetes Explorer Console で Pod のターミナルを取得します。

    また、実行中の Pod では、ラベルの横に色付きのステータス マークが表示されます。

    • : Pod は失敗状態です。
    • 黄色: Pod が起動中または終了中です。
    • : Pod は正常で、実行中です
Pod の横の正常な状態を示す緑色のチェックマーク

コンテナ

  • ログの表示: コンテナから Kubernetes Explorer Console にログを表示します。
  • ターミナルの取得: Kubernetes Explorer Console でコンテナのターミナルを取得します。
右クリック メニューを使用してコンテナからログをストリーミングし、Kubernetes Explorer Console にログを出力する

デプロイメント

  • ログの表示: Deployment から Kubernetes Explorer Console にログを表示します。

    ライブ Deployment では、ラベルの横に色付きのステータス マーク、現在のレプリカ数、合計レプリカの数が表示されます。

    • 黄色: Deployment に最小限の可用性がないか、イメージに問題があります。
    • : Deployment は正常で、最小限の可用性が確保されていました。
正常なステータスを示す緑色のデプロイ アイコン

ノード

クラスタのノードの Namespace の横に色付きのステータス マークが表示されます。

  • 黄色: ノードにリソースの問題(メモリやディスクの可用性など)があります。
  • : ノードは正常です。

カスタム リソース定義(CRD)

Kubernetes Explorer には、クラスタにインストールされ、使用可能なすべてのカスタム リソース定義(CRD)が表示されます。

Explorer のカスタム リソース定義のリスト

次のステップ

サポートを受ける

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