3.7. CLI를 사용하여 OVS 샘플링으로 OVN-Kubernetes 네트워크 트래픽 확인
OVS 샘플링을 사용하여 OVN-Kubernetes 네트워크 트래픽을 확인하는 것은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
다음 네트워크 API의 CLI를 통해 OVS 샘플링을 사용하여 OVN-Kubernetes 네트워크 트래픽을 볼 수 있습니다.
-
NetworkPolicy
-
AdminNetworkPolicy
-
BaselineNetworkPolicy
-
UserDefinedNetwork
격리 -
EgressFirewall
- 멀티 캐스트 ACL.
이러한 네트워킹 이벤트의 스크립트는 각 OVN-Kubernetes 노드의 /usr/bin/ovnkube-observ
경로에 있습니다.
Network Observability Operator와 OVS 샘플링을 사용하여 OVN-Kubernetes 네트워크 트래픽을 확인하는 것은 디버깅에 적합하지만 Network Observability Operator는 네트워크 이벤트를 관찰하기 위한 것입니다. 또는 CLI를 사용하여 OVS 샘플링에서 OVN-Kubernetes 네트워크 트래픽을 확인하는 것은 패킷 추적에 도움이 될 수 있습니다. Network Observability Operator가 설치된 경우에도 사용할 수 있지만 이는 필수 사항은 아닙니다.
관리자는 --add-ovs-collect
옵션을 추가하여 노드에서 네트워크 트래픽을 보거나 특정 Pod의 결과를 필터링하기 위해 추가 플래그를 전달할 수 있습니다. 추가 플래그는 "OVN-Kubernetes 네트워크 트래픽 with OVS 샘플링 플래그" 섹션에서 확인할 수 있습니다.
CLI를 사용하여 OVN-Kubernetes 네트워크 트래픽을 보려면 다음 절차를 사용하십시오.
사전 요구 사항
-
cluster-admin
권한이 있는 사용자로 클러스터에 로그인합니다. - 소스 Pod와 대상 Pod를 생성하고 해당 Pod 간에 트래픽을 실행했습니다.
-
NetworkPolicy ,
AdminNetworkPolicy
,Baseline
,NetworkPolicy
UserDefinedNetwork
격리, 멀티 캐스트 또는 송신 방화벽 등 네트워크 API 중 하나 이상을 생성했습니다.
프로세스
OVS 샘플링 기능을 사용하여
OVNObservability
를 활성화하려면 다음 명령을 입력하여cluster
라는FeatureGate
CR에TechPreviewNoUpgrade
기능 세트를 활성화합니다.oc patch --type=merge --patch '{"spec": {"featureSet": "TechPreviewNoUpgrade"}}' featuregate/cluster
$ oc patch --type=merge --patch '{"spec": {"featureSet": "TechPreviewNoUpgrade"}}' featuregate/cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
featuregate.config.openshift.io/cluster patched
featuregate.config.openshift.io/cluster patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여
OVNObservability
기능이 활성화되어 있는지 확인합니다.oc get featuregate cluster -o yaml
$ oc get featuregate cluster -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
featureGates: # ... enabled: - name: OVNObservability
featureGates: # ... enabled: - name: OVNObservability
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 관련 네트워크 API 중 하나를 생성한 네임스페이스 내부의 Pod 목록을 가져옵니다. 다음 단계에서 사용되므로 Pod의
NODE
이름을 기록해 둡니다.oc get pods -n <namespace> -o wide
$ oc get pods -n <namespace> -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES destination-pod 1/1 Running 0 53s 10.131.0.23 ci-ln-1gqp7b2-72292-bb9dv-worker-a-gtmpc <none> <none> source-pod 1/1 Running 0 56s 10.131.0.22 ci-ln-1gqp7b2-72292-bb9dv-worker-a-gtmpc <none> <none>
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES destination-pod 1/1 Running 0 53s 10.131.0.23 ci-ln-1gqp7b2-72292-bb9dv-worker-a-gtmpc <none> <none> source-pod 1/1 Running 0 56s 10.131.0.22 ci-ln-1gqp7b2-72292-bb9dv-worker-a-gtmpc <none> <none>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OVN-Kubernetes Pod 목록을 가져오고 다음 명령을 입력하여 이전 단계에서 Pod와 동일한
NODE
를 공유하는 Pod를 찾습니다.oc get pods -n openshift-ovn-kubernetes -o wide
$ oc get pods -n openshift-ovn-kubernetes -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME ... READY STATUS RESTARTS AGE IP NODE NOMINATED NODE ovnkube-node-jzn5b 8/8 Running 1 (34m ago) 37m 10.0.128.2 ci-ln-1gqp7b2-72292-bb9dv-worker-a-gtmpc <none> ...
NAME ... READY STATUS RESTARTS AGE IP NODE NOMINATED NODE ovnkube-node-jzn5b 8/8 Running 1 (34m ago) 37m 10.0.128.2 ci-ln-1gqp7b2-72292-bb9dv-worker-a-gtmpc <none> ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여
ovnkube-node
Pod 내부에서 bash 쉘을 엽니다.oc exec -it <pod_name> -n openshift-ovn-kubernetes -- bash
$ oc exec -it <pod_name> -n openshift-ovn-kubernetes -- bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ovnkube-node
Pod 내부에서ovnkube-observ -add-ovs-collector
스크립트를 실행하여 OVS 수집기를 사용하여 네트워크 이벤트를 표시할 수 있습니다. 예를 들면 다음과 같습니다./usr/bin/ovnkube-observ -add-ovs-collector
# /usr/bin/ovnkube-observ -add-ovs-collector
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -filter-src-ip
플래그와 Pod의 IP 주소로 다음 명령을 입력하여 소스 Pod와 같은 유형별로 콘텐츠를 필터링할 수 있습니다. 예를 들면 다음과 같습니다./usr/bin/ovnkube-observ -add-ovs-collector -filter-src-ip <pod_ip_address>
# /usr/bin/ovnkube-observ -add-ovs-collector -filter-src-ip <pod_ip_address>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/bin/ovnkube-observ
를 사용하여 전달할 수 있는 전체 플래그 목록은 "OVS 샘플링 플래그를 사용한 OVN-Kubernetes 네트워크 트래픽"을 참조하십시오.
3.7.1. OVS 샘플링 플래그를 사용한 OVN-Kubernetes 네트워크 트래픽 링크 복사링크가 클립보드에 복사되었습니다!
CLI를 사용하여 OVN-Kubernetes 네트워크 트래픽을 확인하는 데 다음 플래그를 사용할 수 있습니다. ovnkube-node
Pod 내에서 bash 쉘을 연 후 터미널의 다음 구문에 이러한 플래그를 추가합니다.
명령 구문
/usr/bin/ovnkube-observ <flag>
# /usr/bin/ovnkube-observ <flag>
플래그 | 설명 |
---|---|
|
|
| 샘플링을 활성화하려면 OVS 수집기를 추가합니다. 주의해서 사용하십시오. 다른 사람이 관찰 기능을 사용하지 않는지 확인하십시오. |
|
NBDB 데이터로 샘플 강화 기본값은 |
| 지정된 대상 IP로 패킷만 필터링합니다. |
| 지정된 소스 IP의 패킷만 필터링합니다. |
| psample group_id를 사용하여 원시 샘플 쿠키를 출력합니다. |
| 샘플을 작성할 출력 파일입니다. |
| 완전히 수신된 패킷을 출력합니다. false인 경우 소스 및 대상 IP만 모든 샘플과 함께 인쇄됩니다. |