31.8. 네트워크 관찰 문제 해결
네트워크 관찰 문제 해결을 지원하기 위해 몇 가지 문제 해결 작업을 수행할 수 있습니다.
31.8.1. OpenShift Container Platform 콘솔에서 네트워크 트래픽 메뉴 항목 구성
네트워크 트래픽 메뉴 항목이 OpenShift Container Platform 콘솔의 Observe 메뉴에 나열되지 않은 경우 OpenShift Container Platform 콘솔에서 네트워크 트래픽 메뉴 항목을 수동으로 구성합니다.
사전 요구 사항
- OpenShift Container Platform 버전 4.10 이상이 설치되어 있습니다.
절차
다음 명령을 실행하여
spec.consolePlugin.register
필드가true
로 설정되어 있는지 확인합니다.$ oc -n netobserv get flowcollector cluster -o yaml
출력 예
apiVersion: flows.netobserv.io/v1alpha1 kind: FlowCollector metadata: name: cluster spec: consolePlugin: register: false
선택 사항: Console Operator 구성을 수동으로 편집하여
netobserv-plugin
플러그인을 추가합니다.$ oc edit console.operator.openshift.io cluster
출력 예
... spec: plugins: - netobserv-plugin ...
선택 사항: 다음 명령을 실행하여
spec.consolePlugin.register
필드를true
로 설정합니다.$ oc -n netobserv edit flowcollector cluster -o yaml
출력 예
apiVersion: flows.netobserv.io/v1alpha1 kind: FlowCollector metadata: name: cluster spec: consolePlugin: register: true
다음 명령을
실행하여
콘솔 포드의 상태가 실행 중인지 확인합니다.$ oc get pods -n openshift-console -l app=console
다음 명령을 실행하여 콘솔 Pod를 다시 시작합니다.
$ oc delete pods -n openshift-console -l app=console
- 브라우저 캐시 및 기록을 지웁니다.
다음 명령을 실행하여 Network Observability 플러그인 Pod의 상태를 확인합니다.
$ oc get pods -n netobserv -l app=netobserv-plugin
출력 예
NAME READY STATUS RESTARTS AGE netobserv-plugin-68c7bbb9bb-b69q6 1/1 Running 0 21s
다음 명령을 실행하여 Network Observability 플러그인 Pod의 로그를 확인합니다.
$ oc logs -n netobserv -l app=netobserv-plugin
출력 예
time="2022-12-13T12:06:49Z" level=info msg="Starting netobserv-console-plugin [build version: , build date: 2022-10-21 15:15] at log level info" module=main time="2022-12-13T12:06:49Z" level=info msg="listening on https://:9001" module=server
31.8.2. FlowLogs-Pipeline은 Kafka를 설치한 후 네트워크 흐름을 소비하지 않습니다.
deploymentModel: KAFKA
를 사용하여 흐름 수집기를 먼저 배포한 후 Kafka를 배포한 경우 흐름 수집기가 Kafka에 올바르게 연결되지 않을 수 있습니다. Flowlogs-pipeline에서 Kafka의 네트워크 흐름을 사용하지 않는 flow-pipeline pod를 수동으로 다시 시작합니다.
절차
다음 명령을 실행하여 flow-pipeline Pod를 삭제하여 재시작합니다.
$ oc delete pods -n netobserv -l app=flowlogs-pipeline-transformer
31.8.3. br-int
및 br-ex
인터페이스에서 네트워크 흐름을 보지 못함
br-ex 및 br-int
는 OSI 계층 2에서 작동하는 가상 브리지 장치입니다. eBPF 에이전트는 각각 IP 및 TCP 수준, 계층 3 및 4에서 작동합니다. eBPF 에이전트는 물리적 호스트 또는 가상 Pod 인터페이스와 같은 다른 인터페이스에서 네트워크 트래픽을 처리할 때 br-ex
및 br-int
를 통해 전달되는 네트워크 트래픽을 캡처할 수 있습니다. br-ex
및 br-int
에만 연결하도록 eBPF 에이전트 네트워크 인터페이스를 제한하면 네트워크 흐름이 표시되지 않습니다.
네트워크 인터페이스를
br-int
및 br-ex
로 제한하는 인터페이스 또는 excludeInterfaces
의 부분을 수동으로 제거합니다.
절차
인터페이스 제거: [br-int', 'br-ex' ]
필드. 이를 통해 에이전트는 모든 인터페이스에서 정보를 가져올 수 있습니다. 또는 Layer-3 인터페이스를 지정할 수도 있습니다(예:eth0)
. 다음 명령을 실행합니다.$ oc edit -n netobserv flowcollector.yaml -o yaml
출력 예
apiVersion: flows.netobserv.io/v1alpha1 kind: FlowCollector metadata: name: cluster spec: agent: type: EBPF ebpf: interfaces: [ 'br-int', 'br-ex' ] 1
- 1
- 네트워크 인터페이스를 지정합니다.
31.8.4. Network Observability 컨트롤러 관리자 Pod가 메모리 부족
CSV(Cluster Service Version)에 패치를 적용하여 Network Observability Operator의 메모리 제한을 늘릴 수 있습니다. 여기서 Network Observability 컨트롤러 관리자 Pod는 메모리가 부족합니다.
절차
다음 명령을 실행하여 CSV를 패치합니다.
$ oc -n netobserv patch csv network-observability-operator.v1.0.0 --type='json' -p='[{"op": "replace", "path":"/spec/install/spec/deployments/0/spec/template/spec/containers/0/resources/limits/memory", value: "1Gi"}]'
출력 예
clusterserviceversion.operators.coreos.com/network-observability-operator.v1.0.0 patched
다음 명령을 실행하여 업데이트된 CSV를 확인합니다.
$ oc -n netobserv get csv network-observability-operator.v1.0.0 -o jsonpath='{.spec.install.spec.deployments[0].spec.template.spec.containers[0].resources.limits.memory}' 1Gi