This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.第30章 リモートコマンドの実行
30.1. 概要 リンクのコピーリンクがクリップボードにコピーされました!
CLI を使用してコンテナーでリモートコマンドを実行できます。これにより、コンテナーでルーチン操作を実行するための一般的な Linux コマンドを実行できます。
「セキュリティー保護の理由により」、oc exec
コマンドは、コマンドが cluster-admin
ユーザーによって実行されている場合を除き、特権付きコンテナーにアクセスしようとしても機能しません。詳細は、「CLI 操作についてのトピック」を参照してください。
30.2. 基本的な使用方法 リンクのコピーリンクがクリップボードにコピーされました!
リモートコンテナーコマンド実行のサポートは「CLI」 に組み込まれています。
oc exec <pod> [-c <container>] <command> [<arg_1> ... <arg_n>]
$ oc exec <pod> [-c <container>] <command> [<arg_1> ... <arg_n>]
以下に例を示します。
oc exec mypod date
$ oc exec mypod date
Thu Apr 9 02:21:53 UTC 2015
30.3. プロトコル リンクのコピーリンクがクリップボードにコピーされました!
クライアントは要求を Kubernetes API サーバーに対して実行してコンテナーのリモートコマンドの実行を開始します。
/proxy/minions/<node_name>/exec/<namespace>/<pod>/<container>?command=<command>
/proxy/minions/<node_name>/exec/<namespace>/<pod>/<container>?command=<command>
上記の URL には以下が含まれます。
-
<node_name>
はノードの FQDN です。 -
<namespace>
はターゲット Pod の namespace です。 -
<pod>
はターゲット Pod の名前です。 -
<container>
はターゲットコンテナーの名前です。 -
<command>
は実行される必要なコマンドです。
以下に例を示します。
/proxy/minions/node123.openshift.com/exec/myns/mypod/mycontainer?command=date
/proxy/minions/node123.openshift.com/exec/myns/mypod/mycontainer?command=date
さらに、クライアントはパラメーターを要求に追加して以下について指示します。
- クライアントはリモートクライアントのコマンドに入力を送信する (標準入力: stdin)。
- クライアントのターミナルは TTY である。
- リモートコンテナーのコマンドは標準出力 (stdout) からクライアントに出力を送信する。
- リモートコンテナーのコマンドは標準エラー出力 (stderr) からクライアントに出力を送信します。
exec
要求の API サーバーへの送信後、クライアントは多重化ストリームをサポートするものに接続をアップグレードします。現在の実装では SPDY を使用しています。
クライアントは標準入力 (stdin)、標準出力 (stdout)、および標準エラー出力 (stderr) 用にそれぞれのストリームを作成します。ストリームを区別するために、クライアントはストリームの streamType
ヘッダーを stdin
、stdout
、または stderr
のいずれかに設定します。
リモートコマンド実行要求の処理が終了すると、クライアントはすべてのストリームやアップグレードされた接続および基礎となる接続を閉じます。
詳細については、『アーキテクチャー』ガイドを参照してください。