7.7.2. クライアントからのリモートコマンドを開始するためのプロトコル


クラスター内のクライアントリソースは、Kubernetes API サーバーにリクエストを発行することで、コンテナー内でリモートコマンドの実行を開始できます。

Kubernetes API サーバーへの一般的なリクエストのフォーマット例を以下に示します。

/proxy/nodes/<node_name>/exec/<namespace>/<pod>/<container>?command=<command>

各項目の説明:

<node_name>
ノードの完全修飾ドメイン名 (FQDN) を指定します。
<namespace>
対象となる Pod のプロジェクトを指定します。
<pod>
対象となる Pod の名前を指定します。
<container>
対象コンテナーの名前を指定します。
<command>
実行するコマンドを指定します。

リクエストの例

/proxy/nodes/node123.openshift.com/exec/myns/mypod/mycontainer?command=date

さらに、クライアントはリクエストにパラメーターを追加して、以下のいずれかの条件を示すことができます。

  • クライアントはリモートコンテナーのコマンド (標準入力) にインプットを送信する必要があります。
  • クライアントの端末は TTY です。
  • リモートコンテナーのコマンドは、標準出力からクライアントに出力を送信する必要があります。
  • リモートコンテナーのコマンドは、標準エラー出力からクライアントに出力を送信する必要があります。

exec 要求の API サーバーへの送信後、クライアントは多重化ストリームをサポートするものに接続をアップグレードします。現在の実装では HTTP/2 を使用しています。

クライアントは標準入力 (stdin)、標準出力 (stdout)、および標準エラー出力 (stderr) 用にそれぞれのストリームを作成します。ストリームを区別するために、クライアントはストリームの streamType ヘッダーを stdinstdout、または stderr のいずれかに設定します。

リモートコマンド実行要求の処理が終了すると、クライアントはすべてのストリームやアップグレードされた接続および基礎となる接続を閉じます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る