Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

1.4. CRI-O のトラブルシューティング

CRI-O コンテナーエンジンをヘルスチェックし、問題のトラブルシューティングを行うために、crictl コマンドをいくつかのよく知られている Linux および OpenShift Container Platform コマンドと共に使用することができます。すべての OpenShift Container Platform コンテナーエンジンの場合と同様に、oc および kubectl などのコマンドを使用して、CRI-O の Pod を調査することもできます。

たとえば、Pod を一覧表示するには、以下を実行します。

$ sudo oc get pods -o wide
NAME                     READY STATUS  RESTARTS AGE IP              NODE    NOMINATED NODE
docker-registry-1-fb2g8  1/1   Running 1        5d  10.128.0.4      hostA   <none>
registry-console-1-vktl6 1/1   Running 0        5d  10.128.0.6      hostA   <none>
router-1-hjfm7           1/1   Running 0        5d  192.168.122.188 hostA   <none>

Pod が CRI-O で実行されていることを確認するには、cri-odescribe オプションおよび grep を使用します。

$ sudo oc describe pods registry-console-1-vktl6 | grep cri-o
  Container ID:   cri-o://9a9209dc0608ce80f62bb4d7f7df61bcf8dd2abd77ef53075dee0542548238b7

CRI-O コンテナーランタイムをクエリーし、デバッグするには、crictl コマンドを実行して CRI-O と直接通信します。crictl が使用する CRI-O インスタンスは crictl.yaml ファイルで識別されます。

# cat /etc/crictl.yaml
runtime-endpoint: /var/run/crio/crio.sock

デフォルトで、crictl.yaml ファイルにより、crictl はローカルシステムの CRI-O ソケットをポイントします。crictl で利用可能なオプションを確認するには、引数を指定せずに crictl を実行します。特定のオプションについてのヘルプを参照するには 、--help を追加します。以下に例を示します。

$ sudo crictl ps --help
NAME:
   crictl ps - List containers

USAGE:
   crictl ps [command options] [arguments...]

OPTIONS:
   --all, -a                     Show all containers
   --id value                    Filter by container id
   --label value                 Filter by key=value label
...

1.4.1. CRI-O の一般的なヘルスチェック

CRI-O を実行している OpenShift Container Platform クラスターのノードにログインし、以下のコマンドを実行して CRI-O コンテナーエンジンの一般的なヘルスチェックをします。

CRI-O 関連のパッケージがインストールされていることを確認します。これには、crio(CRI-O デーモンと設定ファイル) および cri-tools(crictl コマンド) パッケージが含まれます。

# rpm -qa | grep ^cri-
cri-o-1.11.6-1.rhaos3.11.git2d0f8c7.el7.x86_64
cri-tools-1.11.1-1.rhaos3.11.gitedabfb5.el7_5.x86_64

crio サービスが実行中であることを確認します。

# systemctl status -l crio
● crio.service - Open Container Initiative Daemon
   Loaded: loaded (/usr/lib/systemd/system/crio.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2018-10-16 15:15:49 UTC; 3h 30min ago
     Docs: https://github.com/kubernetes-sigs/cri-o
 Main PID: 889 (crio)
    Tasks: 14
   Memory: 2.3G
   CGroup: /system.slice/crio.service
           └─889 /usr/bin/crio
Oct 16 15:15:48 hostA systemd[1]: Starting Open Container Initiative Daemon...
Oct 16 15:15:49 hostA  systemd[1]: Started Open Container Initiative Daemon.
Oct 16 18:30:55 hostA  crio[889]: time="2018-10-16 18:30:55.128074704Z" level=error