WebStorm 2026.1 Help

Kubernetes でのデバッグ

WebStorm は次の Kubernetes デバッグフローをサポートしています:一時的なコンテナーでのオンザフライ pod トラブルシューティングおよび Telepresence を使用したリモートデバッグ。IDE から離れることなくさまざまな問題を診断できます。

一時的なコンテナー

WebStorm では、実行中の pods を再起動せずに 一時的なコンテナー をアタッチできます。 これにより、稼働中の Kubernetes 環境をインスペクションし、診断コマンドを実行し、実行中の pod 内で直接問題を調査することができます。

一時的なコンテナーは、既存の pod にデバッグ目的で一時的に追加され、アプリケーションコンテナーと並行して実行されます。 この目的のため、WebStorm は内部で kubectl debug コマンドを実行します。 カスタムデバッグコンテナーをアタッチするか、 pingnetstatwgettop などの一般的なツールをすぐに使用できる軽量の BusyBox イメージを使用することもできます。

pods 実行中のデバッグの詳細については、 Kubernetes のドキュメント(英語)を参照してください。

稼働中の pod に BusyBox を接続する

  1. サービスツールウィンドウを開くには、 表示 | ツールウィンドウ | サービス に移動するか、 Alt+8 を押します。

  2. 実行中の pods をリストするノードを展開し、デバッグする pod を右クリックして、コンテキストメニューから 一時的なデバッグコンテナー|Busybox にアタッチする を選択します。

    または、必要な pod を選択し、ツールバーの エフェメラル コンテナ アイコン をクリックして、ドロップダウンから Busybox のアタッチ を選択します。

    BusyBox を接続する

実行中の pod にカスタムコンテナーを接続する

  1. サービスツールウィンドウを開くには、 表示 | ツールウィンドウ | サービス に移動するか、 Alt+8 を押します。

  2. 実行中の pods をリストするノードを展開し、デバッグする pod を右クリックして、コンテキストメニューから 一時的なデバッグコンテナー|カスタムにアタッチする を選択します。

    または、必要な pod を選択し、ツールバーの エフェメラル コンテナ アイコン をクリックして、ドロップダウンから カスタムを添付 を選択します。

  3. カスタムデバッグコンテナーのアタッチ ダイアログで、次のフィールドを使用して、一時コンテナーを起動および接続するための kubectl debug コマンドをカスタマイズします。

    • Pod: ドロップダウンからデバッグする pod を選択します。

    • ターゲット: 選択した pod 内のターゲットコンテナーを指定します。

    • イメージ :デバッグ用に使用するイメージ名を入力し、候補リストから選択します。

    • 実行可能 :起動後に一時的なコンテナー内で実行するシェルの絶対パスを指定します(例:BusyBox の場合は /bin/sh 、Ubuntu の場合は /bin/bash)。

    • オプション: デバッグコンテナーに追加の設定パラメーターを提供します。 例については、 Kubernetes のドキュメント(英語)を参照してください。

    カスタムデバッグコンテナーのアタッチダイアログ
  4. Pod にアタッチ をクリックしてください。

WebStorm が新しい一時的なコンテナーを起動し、それを pod に正常にアタッチすると、 コンソール タブが開き、そこでコマンドを実行したり pod をインスペクションできます。

デバッグコンソール

BusyBox をアタッチした場合、WebStorm が自動的に sh を使用します。 カスタムイメージの場合、IDE は 実行可能 フィールドで指定したシェルを使用します。

コンテナーが接続されている pod を削除すると、コンテナーは削除されます。

最近のコマンド

一時的なデバッグコンテナー メニューから一時的なコンテナーをアタッチすると、WebStorm は対応する kubectl debug コマンドを自動保存します。 後で 最近 セクションからアクセスして再実行できます。

最近のコマンド

最近のコマンドを使用して一時コンテナーを起動する

  1. サービスツールウィンドウを開くには、 表示 | ツールウィンドウ | サービス に移動するか、 Alt+8 を押します。

  2. 実行中の pods をリストするノードを展開し、デバッグ対象の pod を右クリックします。 コンテキストメニューから 一時的なデバッグコンテナー を選択し、必要な最近のコマンドを選択します。

    または、必要な pod を選択し、ツールバーの エフェメラル コンテナ アイコン をクリックして、ドロップダウンから最近のコマンドを選択します。

最近のコマンドを管理する

  1. 最近のコマンドにアクセスします。

    • 設定 ダイアログ(Ctrl+Alt+S )で、 ビルド、実行、デプロイ | Kubernetes を選択します。

    • サービス ツールウィンドウ(Alt+8 )を開きます。 実行中の pod を右クリックし、コンテキストメニューから 一時的なデバッグコンテナー|最近使用したものを編集 を選択します。

  2. 一時的なデバッグコンテナー セクションに移動します。

    • 事前に設定して新しい一時コンテナーをすばやく起動できる新しいコマンドを追加するには、 プラスアイコン をクリックします。 デバッグパラメーターを追加する ダイアログでは、イメージ、実行可能ファイル、 kubectl debug コマンドのオプションを指定できます。

    • 最近使用したコマンドからコマンドを削除するには、テーブルでコマンドを選択し、 マイナスアイコン をクリックします。

    • 既存のコマンドを編集するには、テーブルでコマンドを選択し、 編集アイコン をクリックします。 デバッグパラメーターを追加する ダイアログで、 kubectl debug コマンドのイメージ、実行ファイル、オプションを変更します。

Telepresence

Telepresence (英語) は、Kubernetes クラスター内のサービスにアクセスし、サービスがローカルのコンピューターで実行されているかのようにデバッグしたり、変更を加えたり、テストしたりできるツールです。

Kubernetes プラグインは Telepresence との統合を提供し、次のことを可能にします。

Telepresence に接続する

  1. サービス ツールウィンドウを開き、 表示 | ツールウィンドウ | サービス を選択するか Alt+8 を押します。

  2. Kubernetes クラスターを右クリックし、 Telepresence を接続 を選択します。 あるいは、ツールバーの「Telepresence アイコン 」をクリックします。 プロンプトが表示されたら、Telepresence デーモンを起動するために必要な管理者アカウントのパスワードを入力します。 Windows では、 telepresence.exe の実行を許可します。

  3. Telepresence と Traffic Manager をインストールした後、もう一度 Telepresence を接続 をクリックします。

クラスターがワークステーション上で実行されているかのように、DNS 名を使用して Kubernetes クラスター内のサービスにアクセスできるようになりました。 例: hello-node:9001 へのリクエストを受け入れるアプリケーションがある場合、その名前でアクセスできます。

Telepresence Connect

クラスターからのトラフィックを傍受する

インターセプトを使用すると、Kubernetes クラスター内のサービスに向かうトラフィックを取得し、それをローカルサービスにルーティングできます。

  1. ツールバーで、 Telepresence アイコン (新規インターセプトの作成) をクリックし、次に 新規インターセプトの作成 をクリックします。

  2. 開いたウィンドウの サービス リストで、インターセプトするワークロードを選択します。 これは、デプロイ、ReplicaSet、StatefulSet のいずれかになります。

    ポート フィールドで、サービスのローカルインスタンスが実行されているポートを指定します。

    テレプレゼンスインターセプト

サービスが正常に傍受された場合は、ローカルでサービスにアクセスし、IDE 機能を使ってクラスター内で実行中のアプリケーションを試し、デバッグし、プロファイリングできます。

Telepresence の終了

Telepresence は一度に 1 つのクラスターと対話するため、別のクラスターに接続する前にテレプレゼンスを停止する必要がある場合があります。 テレプレゼンスを終了すると、アクティブな傍受がすべて停止されます。

  1. サービス ツールウィンドウを開き、 表示 | ツールウィンドウ | サービス を選択するか Alt+8 を押します。

  2. Kubernetes クラスターを右クリックし、 Telepresence の終了 を選択します。 あるいは、ツールバーの「Telepresence 終了アイコン 」をクリックします。

インターセプションを使用してアプリケーションを実行する

WebStorm では、ワンクリックでローカルアプリケーションを実行し、同時に Kubernetes クラスターのサービス宛てのトラフィックをこのローカルアプリケーションにリダイレクトできます。

これは、Kubernetes クラスターにトンネル(Telepresence インターセプト)を構成し、実行構成に 起動前タスクとして追加することで実現されます。 この実行構成を実行するたびに、WebStorm は Telepresence インターセプトを作成し、リモートアプリケーションをローカルで実行しているかのようにデバッグできるようになります。

実行構成にインターセプションを追加する

  1. 以下を確認してください:

    • サービスの元のインスタンスが Kubernetes クラスターにデプロイされて実行され、そのローカルインスタンスのソースコードがエディターで開かれます。

    • WebStorm インスタンスが Kubernetes クラスターに接続されています

  2. メインクラス宣言の近くのガターで をクリックし、 リモートデバッグ用のトンネルを追加 を選択します。 このアクションは、WebStorm にクラスターが 1 つ以上接続されている場合に利用できます。

    あるいは、アプリケーションの実行 / デバッグ構成がすでに存在する場合は、実行ウィジェットで をクリックし、 リモートデバッグ用のトンネルを追加 を選択します。

  3. 開いた 実行構成に Kubernetes トンネルを追加する ウィンドウで、クラスターと名前空間を選択し、 クラスターに接続 をクリックします。 プロンプトが表示されたら、Telepresence デーモンを起動するために必要な管理者アカウントのパスワードを入力します。

  4. クラスターに正常に接続している場合、インターセプトパラメーターを構成してください:

    • サービス リストで、インターセプトするワークロードを選択します

    • ポート フィールドで、サービスのローカルインスタンスが実行されているポートを指定します。

    • 必要に応じて、 telepresence intercept コマンドに追加のオプションを指定します。

    実行構成に Kubernetes トンネルを追加する

    Telepresence コマンドの出力を確認する場合は、 出力 セクションを展開します。 Telepresence への接続中にエラーが発生した場合、このセクションは自動的に展開されます。

  5. 構成を保存 をクリックしてください。 インターセプトのパラメーターを確認するために、WebStorm はインターセプトを作成し、そのままにします。

インターセプトパラメーターは、新しい実行構成の起動前タスクとして デバッグ用トンネルの追加 として保存されます。 他の実行構成と区別するために、この実行構成名には (Telepresence) 接尾辞が含まれます (例: MyApp(Telepresence))。

これで、 アプリケーションを実行し、そのリモートバージョンをインターセプトする準備が整いました。

インターセプションを使用してアプリケーションを実行する

  1. 実行ウィジェットで、 (Telepresence) 接尾辞を持つ実行構成を選択します。

  2. をクリックして実行するか、 をクリックしてデバッガーセッションを開始します。

これにより、ローカルアプリケーションが実行され、同時に上記で指定したパラメーターを使用して telepresence intercept コマンドが実行されます。

Telepresence は、クラスター内のサービスに送信されるすべてのトラフィックをインターセプトし、ローカルアプリケーションにルーティングするようになりました。 インターセプトされたサービスをローカルでコーディングおよびデバッグできます。

サービス ツールウィンドウには、 Telepresence インターセプション ノードに作成されたインターセプトが表示されます。 Kubernetes クラスターのルートノードには、生成されたテレプレゼンスコマンドと関連ログも表示されます。

サービスツールウィンドウの Telepresence インターセプション

このアプリケーションを停止すると( をクリック)、WebStorm もインターセプト(telepresence leave )を停止します。

2026 年 6 月 8 日