1.4.2. CRI-O ログの検査
CRI-O コンテナーエンジンは systemd サービスとして実装されるため、標準の journalctl
コマンドを使用して CRI-O のログメッセージを検査できます。
1.4.2.1. crio および origin-node ログの確認
crio サービスからの情報のジャーナルを確認するには、-u
オプションを使用します。この例では、サービスが実行されていることを確認できますが、Pod は起動に失敗しています。
$ sudo journalctl -u crio -- Logs begin at Tue 2018-10-16 15:01:31 UTC, end at Tue 2018-10-16 19:10:52 UTC. -- Oct 16 15:05:42 hostA systemd[1]: Starting Open Container Initiative Daemon... Oct 16 15:05:42 hostA systemd[1]: Started Open Container Initiative Daemon. Oct 16 15:06:35 hostA systemd[1]: Stopping Open Container Initiative Daemon... Oct 16 15:06:35 hostA crio[4863]: time="2018-10-16 15:06:35.018523314Z" level=error msg="Failed to start streaming server: http: Server closed" Oct 16 15:06:35 hostA systemd[1]: Starting Open Container Initiative Daemon... Oct 16 15:06:35 hostA systemd[1]: Started Open Container Initiative Daemon. Oct 16 15:10:27 hostA crio[6874]: time="2018-10-16 15:10:26.900411457Z" level=error msg="Failed to start streaming server: http: Server closed" Oct 16 15:10:26 hostA systemd[1]: Stopping Open Container Initiative Daemon... Oct 16 15:10:27 hostA systemd[1]: Stopped Open Container Initiative Daemon. -- Reboot -- 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 msg="Error adding network: CNI request failed with status 400: 'pods "
origin-node サービスで CRI-O 関連のメッセージを確認することもできます。以下に例を示します。
$ sudo journalctl -u origin-node | grep -i cri-o Oct 16 15:26:30 hostA origin-node[10624]: I1016 15:26:30.120889 10624 kuberuntime_manager.go:186] Container runtime cri-o initialized, version: 1.11.6, apiVersion: v1alpha1 Oct 16 15:26:30 hostA origin-node[10624]: I1016 15:26:30.177213 10624 factory.go:157] Registering CRI-O factory Oct 16 15:27:27 hostA origin-node[11107]: I1016 15:27:27.449197 11107 kuberuntime_manager.go:186] Container runtime cri-o initialized, version: 1.11.6, apiVersion: v1alpha1 Oct 16 15:27:27 hostA origin-node[11107]: I1016 15:27:27.507030 11107 factory.go:157] Registering CRI-O factory Oct 16 19:27:56 hostA origin-node[8326]: I1016 19:27:56.224770 8326 kuberuntime_manager.go:186] Container runtime cri-o initialized, version: 1.11.6, apiVersion: v1alpha1 Oct 16 19:27:56 hostA origin-node[8326]: I1016 19:27:56.282138 8326 factory.go:157] Registering CRI-O factory Oct 16 19:27:57 hostA origin-node[8326]: I1016 19:27:57.783304 8326 status_manager.go:375] Status Manager: adding pod: "db1f45e3-d157-11e8-8645-42010a8e0002", with status: ('\x01', {Running ... docker.io/openshift/origin-node:v3.11 docker.io/openshift/origin-node@sha256:6f9b0fbdd... cri-o://c94cc6 2c27d021d61e8b7c1a82703d51db5847e74f5e57c667432f90c07013e4}] Burstable}) to podStatusChannel
一覧表示されている Pod の 1 つ (cri-o // c94cc6 として示されている最後の Pod など) で何が起こっていたのかをさらに調査したかった場合は、crictl logs
コマンドを使用できます。
$ sudo crictl logs c94cc6 /etc/openvswitch/conf.db does not exist ... (warning). Creating empty database /etc/openvswitch/conf.db [ OK ] Starting ovsdb-server [ OK ] Configuring Open vSwitch system IDs [ OK ] Inserting openvswitch module [ OK ] Starting ovs-vswitchd [ OK ] Enabling remote OVSDB managers [ OK ]