7.3. OpenShift 샌드박스 컨테이너에 대한 디버그 로그 활성화
클러스터 관리자는 OpenShift 샌드박스 컨테이너에 대한 보다 자세한 로그 수준을 수집할 수 있습니다. KataConfig
CR에서 logLevel
필드를 변경하여 로깅을 개선할 수도 있습니다. 이렇게 하면 OpenShift 샌드박스 컨테이너를 실행하는 작업자 노드의 CRI-O 런타임의 log_level
이 변경됩니다.
절차
-
기존
KataConfig
CR의logLevel
필드를debug
로 변경합니다.
$ oc patch kataconfig <name_of_kataconfig_file> --type merge --patch '{"spec":{"logLevel":"debug"}}'
이 명령을 실행하는 경우 KataConfig
CR의 이름을 참조합니다. OpenShift 샌드박스 컨테이너를 설정할 때 CR을 생성하는 데 사용한 이름입니다.
검증
UPDATED
필드가True
로 표시될 때까지kata-oc
머신 구성 풀을 모니터링합니다. 즉, 모든 작업자 노드가 업데이트됩니다.$ oc get mcp kata-oc
출력 예
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE kata-oc rendered-kata-oc-169 False True False 3 1 1 0 9h
log_level
이 CRI-O에서 업데이트되었는지 확인합니다.머신 구성 풀의 노드에
oc debug
세션을 열고chroot /host
를 실행합니다.$ oc debug node/<node_name>
sh-4.4# chroot /host
crio.conf
파일의 변경 사항을 확인합니다.sh-4.4# crio config | egrep 'log_level
출력 예
log_level = "debug"
7.3.1. OpenShift 샌드박스 컨테이너에 대한 디버그 로그 보기
클러스터 관리자는 OpenShift 샌드박스 컨테이너의 향상된 디버그 로그를 사용하여 문제를 해결할 수 있습니다. 각 노드의 로그가 노드 저널에 출력됩니다.
다음 OpenShift 샌드박스 컨테이너 구성 요소의 로그를 확인할 수 있습니다.
- Kata 에이전트
-
Kata 런타임 (
containerd-shim-kata-v
2) - virtiofsd
QEMU는 경고 및 오류 로그만 생성합니다. 이러한 경고 및 오류는 추가 qemuPid
필드를 사용하여 Kata 런타임 로그와 CRI-O 로그 모두에서 노드 저널에 출력됩니다.
QEMU 로그 예
Mar 11 11:57:28 openshift-worker-0 kata[2241647]: time="2023-03-11T11:57:28.587116986Z" level=info msg="Start logging QEMU (qemuPid=2241693)" name=containerd-shim-v2 pid=2241647 sandbox=d1d4d68efc35e5ccb4331af73da459c13f46269b512774aa6bde7da34db48987 source=virtcontainers/hypervisor subsystem=qemu Mar 11 11:57:28 openshift-worker-0 kata[2241647]: time="2023-03-11T11:57:28.607339014Z" level=error msg="qemu-kvm: -machine q35,accel=kvm,kernel_irqchip=split,foo: Expected '=' after parameter 'foo'" name=containerd-shim-v2 pid=2241647 qemuPid=2241693 sandbox=d1d4d68efc35e5ccb4331af73da459c13f46269b512774aa6bde7da34db48987 source=virtcontainers/hypervisor subsystem=qemu Mar 11 11:57:28 openshift-worker-0 kata[2241647]: time="2023-03-11T11:57:28.60890737Z" level=info msg="Stop logging QEMU (qemuPid=2241693)" name=containerd-shim-v2 pid=2241647 sandbox=d1d4d68efc35e5ccb4331af73da459c13f46269b512774aa6bde7da34db48987 source=virtcontainers/hypervisor subsystem=qemu
Kata 런타임은 QEMU가 시작될 때 로깅 QEMU 시작
및 QEMU가 중지되면 로깅 QEMU
를 중지합니다. 이러한 두 로그 메시지 사이에 qemuPid
필드가 있는 오류가 표시됩니다. QEMU의 실제 오류 메시지가 빨간색으로 표시됩니다.
QEMU 게스트의 콘솔도 노드 저널에 출력됩니다. Kata 에이전트 로그와 함께 게스트 콘솔 로그를 볼 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc
)가 설치되어 있습니다. -
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
절차
Kata 에이전트 로그 및 게스트 콘솔 로그를 검토하려면 다음을 실행합니다.
$ oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t kata -g “reading guest console”
kata 런타임 로그를 검토하려면 다음을 실행합니다.
$ oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t kata
virtiofsd 로그를 검토하려면 다음을 실행합니다.
$ oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t virtiofsd
QEMU 로그를 검토하려면 다음을 실행합니다.
$ oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t kata -g "qemuPid=\d+"