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