1.4.3.2. イメージ、Pod、およびコンテナーの調査
CRI-O 環境のイメージ、Pod またはコンテナーの内部で実行されていることについての詳細を確認するには、いくつかの crictl
オプションを使用できます。
(crictl ps
の出力からの) コンテナー ID が手元にあれば、そのコンテナー内でコマンドを実行できます。たとえば、コンテナー内のオペレーティングシステムの名前およびリリースを確認するには、以下を実行します。
$ crictl exec 756f20138381c cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core)
コンテナー内で実行されているプロセスの一覧を表示するには、以下を実行します。
$ crictl exec -t e47b3a837aa30 ps -ef UID PID PPID C STIME TTY TIME CMD 1000130+ 1 0 0 Oct17 ? 00:38:14 /usr/bin/origin-web-console --au 1000130+ 15894 0 0 15:38 pts/0 00:00:00 ps -ef 1000130+ 17518 1 0 Oct23 ? 00:00:00 [curl] <defunct>
別の方法として、runc
コマンドを使用してコンテナーに"exec"することができます。
$ sudo runc exec -t e47b3a837aa3023c748c4c31a090266f014afba641a8ab9cfca31b065b4f2ddd ps -ef UID PID PPID C STIME TTY TIME CMD 1000130+ 1 0 0 Oct17 ? 00:38:16 /usr/bin/origin-web-console --audit-log-path=- -v=0 --config=/var/webconsole-config/webc 1000130+ 16541 0 0 15:48 pts/0 00:00:00 ps -ef 1000130+ 17518 1 0 Oct23 ? 00:00:00 [curl] <defunct>
コンテナー内に ps
コマンドがない場合、runc
には ps
オプションがあります。これは、コンテナーで実行されているプロセスを表示するのと同じ効果があります。
$ sudo runc ps e47b3a837aa3023c748c4c31a090266f014afba641a8ab9cfca31b065b4f2ddd
runc
には完全なコンテナー ID が必要ですが、crictl
は最初のいくつかの固有の文字のみが必要である点に注意してください。
Pod サンドボックス ID (crictl pods
からの出力) が手元にある状態で、crictl inspectp
を実行して Pod サンドボックスに関する情報を表示します。
$ sudo crictl pods | grep 5a60ac777aaa0 5a60ac777aaa0 8 days ago SANDBOX_READY registry-console-1-vktl6 default 0 $ sudo crictl inspectp 5a60ac777aaa0 { "status": { "id": "5a60ac777aaa055f14b998a9f2ced3e146b3cddbe270154abb75decd583bf879", "metadata": { "attempt": 0, "name": "registry-console-1-vktl6", "namespace": "default", "uid": "6af860cc-d20b-11e8-b094-525400535ba1" }, "state": "SANDBOX_READY", "createdAt": "2018-10-17T08:53:22.828511516-04:00", "network": { "ip": "10.128.0.6"
ローカルシステムの CRI-O で利用可能なイメージに関するステータス情報を確認するには、crictl inspecti
を実行します。
$ sudo crictl inspecti ff5dd2137a4ff { "status": { "id": "ff5dd2137a4ffd5ccb9837d5a0aa0a5d10729f9c186df02e54e58748a32d08b0", "repoTags": [ "quay.io/coreos/etcd:v3.2.22" ], "repoDigests": [ "quay.io/coreos/etcd@sha256:43fbc8a457aa0cb887da63d74a48659e13947cb74b96a53ba8f47abb6172a948" ], "size": "37547599", "username": "" } }
関連情報
- CRI-O - OCI-based implementation of Kubernetes Container Runtime Interface
- CRI-O Lightweight Container Runtime for Kubernetes
- CRI-O Command Line Interface: crictl
- Finding, Running, and Building Containers without Docker
- Container Commandos Coloring Book
- CRI-O now running production workloads in OpenShift Online
- CRI-O How Standards Power a Container Runtime
- A Practical Introduction to Container Terminology