4장. ovnkube-trace를 사용하여 Openflow 추적
OVN 및 OVS 트래픽 흐름은 ovnkube-trace
라는 단일 유틸리티에서 시뮬레이션할 수 있습니다. ovnkube-trace
유틸리티는 ovn-trace
, ovs-appctl ofproto/trace
및 ovn-detrace를
실행하고 해당 정보를 단일 출력으로 상관관계를 분석합니다.
전용 컨테이너에서 ovnkube-trace
바이너리를 실행할 수 있습니다. OpenShift Container Platform 4.7 이후 릴리스의 경우 바이너리를 로컬 호스트에 복사하여 해당 호스트에서 실행할 수도 있습니다.
4.1. 로컬 호스트에 ovnkube-trace 설치 링크 복사링크가 클립보드에 복사되었습니다!
ovnkube-trace
도구는 OVN-Kubernetes 기반 OpenShift Container Platform 클러스터의 지점 간 임의의 UDP 또는 TCP 트래픽에 대한 패킷 시뮬레이션을 추적합니다. ovnkube-trace
바이너리를 로컬 호스트에 복사하여 클러스터에서 실행할 수 있도록 합니다.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다. -
cluster-admin
권한이 있는 사용자로 클러스터에 로그인합니다.
프로세스
다음 명령을 사용하여 pod 변수를 만듭니다.
POD=$(oc get pods -n openshift-ovn-kubernetes -l app=ovnkube-control-plane -o name | head -1 | awk -F '/' '{print $NF}')
$ POD=$(oc get pods -n openshift-ovn-kubernetes -l app=ovnkube-control-plane -o name | head -1 | awk -F '/' '{print $NF}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 로컬 호스트에서 다음 명령을 실행하여
ovnkube-control-plane
포드에서 바이너리를 복사합니다.oc cp -n openshift-ovn-kubernetes $POD:/usr/bin/ovnkube-trace -c ovnkube-cluster-manager ovnkube-trace
$ oc cp -n openshift-ovn-kubernetes $POD:/usr/bin/ovnkube-trace -c ovnkube-cluster-manager ovnkube-trace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고ovnkube-trace
도구를 실행하기 위해 Red Hat Enterprise Linux(RHEL) 8을 사용하는 경우/usr/lib/rhel8/ovnkube-trace
파일을 로컬 호스트에 복사해야 합니다.다음 명령을 실행하여
ovnkube-trace를
실행 가능하게 만듭니다.chmod +x ovnkube-trace
$ chmod +x ovnkube-trace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
ovnkube-trace
에서 사용할 수 있는 옵션을 표시합니다../ovnkube-trace -help
$ ./ovnkube-trace -help
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예상 출력
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 지원되는 명령줄 인수는 네임스페이스, 포드, 서비스와 같은 익숙한 Kubernetes 구성 요소이므로 MAC 주소, 대상 노드의 IP 주소 또는 ICMP 유형을 찾을 필요가 없습니다.
로그 수준은 다음과 같습니다.
- 0 (최소 출력)
- 2(추적 명령의 결과를 보여주는 더 자세한 출력)
- 5 (디버그 출력)