5.9. 호스트 네트워크 추적 수집
네트워크 통신을 추적하고 동시에 여러 노드에서 패킷을 캡처하여 네트워크 관련 문제를 해결할 수 있습니다.
oc adm must-gather
명령과 registry.redhat.io/openshift4/network-tools-rhel8
컨테이너 이미지 조합을 사용하여 노드에서 패킷 캡처를 수집할 수 있습니다. 패킷 캡처를 분석하면 네트워크 통신 문제를 해결하는 데 도움이 될 수 있습니다.
oc adm must-gather
명령은 특정 노드의 Pod에서 tcpdump
명령을 실행하는 데 사용됩니다. tcpdump
명령은 Pod에 패킷 캡처를 기록합니다. tcpdump
명령이 종료되면 oc adm must-gather
명령은 Pod에서 패킷 캡처가 있는 파일을 클라이언트 머신으로 전송합니다.
다음 절차의 샘플 명령은 tcpdump
명령을 사용하여 패킷 캡처를 수행하는 방법을 보여줍니다. 그러나 --image
인수에 지정된 컨테이너 이미지에서 모든 명령을 실행하여 여러 노드에서 문제 해결 정보를 동시에 수집할 수 있습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 OpenShift Container Platform에 로그인되어 있습니다. -
OpenShift CLI(
oc
)가 설치되어 있습니다.
절차
다음 명령을 실행하여 일부 노드에서 호스트 네트워크에서 패킷 캡처를 실행합니다.
$ oc adm must-gather \ --dest-dir /tmp/captures \ <.> --source-dir '/tmp/tcpdump/' \ <.> --image registry.redhat.io/openshift4/network-tools-rhel8:latest \ <.> --node-selector 'node-role.kubernetes.io/worker' \ <.> --host-network=true \ <.> --timeout 30s \ <.> -- \ tcpdump -i any \ <.> -w /tmp/tcpdump/%Y-%m-%dT%H:%M:%S.pcap -W 1 -G 300
<.>
--dest-dir
인수는oc adm must-gather
가 클라이언트 머신의/tmp/captures
와 관련된 디렉터리에 패킷 캡처를 저장하도록 지정합니다. 쓰기 가능한 디렉터리를 지정할 수 있습니다. <.>oc adm must-gather
가 시작되는 디버그 Pod에서tcpdump
가 실행될 때--source-dir
인수는 패킷 캡처가 Pod의/tmp/tcpdump
디렉터리에 일시적으로 저장되도록 지정합니다. <.>--image
인수는tcpdump
명령을 포함하는 컨테이너 이미지. <.>--node-selector
인수 및 예제 값은 작업자 노드에서 패킷 캡처를 수행하도록 지정합니다. 또는 단일 노드에서 패킷 캡처를 실행하도록--node-name
인수를 지정할 수 있습니다.--node-selector
및--node-name
인수를 모두 생략하면 패킷 캡처가 모든 노드에서 수행됩니다. <.> 패킷 캡처가 노드의 네트워크 인터페이스에서 수행되도록--host-network=true
인수가 필요합니다. <.>--timeout
인수 및 값은 디버그 Pod를 30 초 동안 실행하기 위해 지정합니다.--timeout
인수와 기간을 지정하지 않으면 디버그 Pod가 10분 동안 실행됩니다. <.>tcpdump
명령의-i any
인수는 모든 네트워크 인터페이스에서 패킷을 캡처하도록 지정합니다. 또는 네트워크 인터페이스 이름을 지정할 수 있습니다.- 네트워크 추적에서 패킷을 캡처하는 동안 네트워크 통신 문제를 트리거하는 웹 애플리케이션 액세스와 같은 작업을 수행합니다.
oc adm must-gather
가 Pod에서 클라이언트 머신으로 전송된 패킷 캡처 파일을 확인합니다.tmp/captures ├── event-filter.html ├── ip-10-0-192-217-ec2-internal 1 │ └── registry-redhat-io-openshift4-network-tools-rhel8-sha256-bca... │ └── 2022-01-13T19:31:31.pcap ├── ip-10-0-201-178-ec2-internal 2 │ └── registry-redhat-io-openshift4-network-tools-rhel8-sha256-bca... │ └── 2022-01-13T19:31:30.pcap ├── ip-... └── timestamp