PhpStorm 2026.3 Help

Kubernetes でのデバッグ

PhpStorm は、一時的なコンテナーを使用したオンザフライの pod トラブルシューティングと、Telepresence を使用したリモートデバッグという Kubernetes デバッグフローをサポートしているため、IDE を移動せずにさまざまな問題を診断できます。

一時的なコンテナー

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

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

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

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

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

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

    または、必要な pod を選択し、ツールバーの the Ephemeral Container icon をクリックして、ドロップダウンから Busybox のアタッチ を選択します。

    BusyBox を接続する

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

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

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

    または、必要な pod を選択し、ツールバーの the Ephemeral Container icon をクリックして、ドロップダウンから カスタムを添付 を選択します。

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

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

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

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

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

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

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

PhpStorm が新しい一時コンテナーを起動し、それを pod に正常に接続すると、 コンソール タブが開き、そこでコマンドを実行して pod をインスペクションできるようになります。

デバッグコンソール

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

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

最近のコマンド

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

最近のコマンド

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

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

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

    または、必要な pod を選択し、ツールバーの the Ephemeral Container icon をクリックして、ドロップダウンから最近のコマンドを選択します。

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

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

    • 設定 ダイアログ (Ctrl+Alt+S) で、 ビルド、実行、デプロイ | Kubernetes | クラスター相互作用 を選択します。

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

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

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

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

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

Telepresence

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

Telepresence プラグインは Kubernetes プラグインと連携し、次の操作を可能にします。

Telepresence プラグインをインストールする

この機能は、インストールして有効化する必要がある Telepresence プラグインに依存しています。

  1. Ctrl+Alt+S を押して設定を開き、 プラグイン を選択します。

  2. Telepresence プラグインを見つけて、 インストール をクリックします。 プロンプトが表示されたら IDE を再起動します。

Telepresence に接続する

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

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

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

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

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

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

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

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

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

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

Telepresence の終了

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

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

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

2026 年 11 月 9 日