7.3. OpenShift 샌드박스 컨테이너에 대한 디버그 로그 활성화
클러스터 관리자는 OpenShift 샌드박스 컨테이너에 대한 보다 자세한 로그 수준을 수집할 수 있습니다. KataConfig CR에서 logLevel 필드를 변경하여 로깅을 개선할 수도 있습니다. 이렇게 하면 OpenShift 샌드박스 컨테이너를 실행하는 작업자 노드의 CRI-O 런타임의 log_level 이 변경됩니다.
절차
-
기존
KataConfigCR의logLevel필드를debug로 변경합니다.
oc patch kataconfig <name_of_kataconfig_file> --type merge --patch '{"spec":{"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
$ oc get mcp kata-ocCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE kata-oc rendered-kata-oc-169 False True False 3 1 1 0 9h
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE kata-oc rendered-kata-oc-169 False True False 3 1 1 0 9hCopy to Clipboard Copied! Toggle word wrap Toggle overflow log_level이 CRI-O에서 업데이트되었는지 확인합니다.머신 구성 풀의 노드에
oc debug세션을 열고chroot /host를 실행합니다.oc debug node/<node_name>
$ oc debug node/<node_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow chroot /host
sh-4.4# chroot /hostCopy to Clipboard Copied! Toggle word wrap Toggle overflow crio.conf파일의 변경 사항을 확인합니다.crio config | egrep 'log_level
sh-4.4# crio config | egrep 'log_levelCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
log_level = "debug"
log_level = "debug"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3.1. OpenShift 샌드박스 컨테이너에 대한 디버그 로그 보기 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 OpenShift 샌드박스 컨테이너의 향상된 디버그 로그를 사용하여 문제를 해결할 수 있습니다. 각 노드의 로그가 노드 저널에 출력됩니다.
다음 OpenShift 샌드박스 컨테이너 구성 요소의 로그를 확인할 수 있습니다.
- Kata 에이전트
-
Kata 런타임 (
containerd-shim-kata-v2) - 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
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”
$ oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t kata -g “reading guest console”Copy to Clipboard Copied! Toggle word wrap Toggle overflow kata 런타임 로그를 검토하려면 다음을 실행합니다.
oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t kata
$ oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t kataCopy to Clipboard Copied! Toggle word wrap Toggle overflow virtiofsd 로그를 검토하려면 다음을 실행합니다.
oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t virtiofsd
$ oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t virtiofsdCopy to Clipboard Copied! Toggle word wrap Toggle overflow QEMU 로그를 검토하려면 다음을 실행합니다.
oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t kata -g "qemuPid=\d+"
$ oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t kata -g "qemuPid=\d+"Copy to Clipboard Copied! Toggle word wrap Toggle overflow