31.5. Network Observability Operator 구성


Flow Collector API 리소스를 업데이트하여 Network Observability Operator 및 관리되는 구성 요소를 구성할 수 있습니다. Flow Collector는 설치 중에 명시적으로 생성됩니다. 이 리소스는 클러스터 전체에서 작동하기 때문에 단일 FlowCollector 만 허용되며 cluster 라는 이름으로 지정해야 합니다.

31.5.1. FlowCollector 리소스 보기

OpenShift Container Platform 웹 콘솔에서 직접 YAML을 보고 편집할 수 있습니다.

절차

  1. 웹 콘솔에서 Operator 설치된 Operator 로 이동합니다.
  2. NetObserv Operator제공된 API 제목에서 Flow Collector 를 선택합니다.
  3. cluster 를 선택한 다음 YAML 탭을 선택합니다. 여기에서 FlowCollector 리소스를 수정하여 Network Observability Operator를 구성할 수 있습니다.

다음 예제는 OpenShift Container Platform Network Observability Operator의 샘플 FlowCollector 리소스를 보여줍니다.

FlowCollector 리소스 샘플

apiVersion: flows.netobserv.io/v1alpha1
kind: FlowCollector
metadata:
  name: cluster
spec:
  namespace: netobserv
  deploymentModel: DIRECT
  agent:
    type: EBPF                                1
    ebpf:
      sampling: 50                            2
      logLevel: info
      privileged: false
      resources:
        requests:
          memory: 50Mi
          cpu: 100m
        limits:
          memory: 800Mi
  processor:
    logLevel: info
    resources:
      requests:
        memory: 100Mi
        cpu: 100m
      limits:
        memory: 800Mi
  loki:                                       3
    url: 'http://loki-gateway-http.netobserv.svc:8080/api/logs/v1/network'
    statusUrl: 'https://loki-query-frontend-http.netobserv.svc:3100/'
    authToken: FORWARD
    tls:
      enable: true
      caCert:
        type: configmap
        name: loki-gateway-ca-bundle
        certFile: service-ca.crt
  consolePlugin:
    register: true
    logLevel: info
    portNaming:
      enable: true
      portNames:
        "3100": loki
    quickFilters:                             4
    - name: Applications
      filter:
        src_namespace!: 'openshift-,netobserv'
        dst_namespace!: 'openshift-,netobserv'
      default: true
    - name: Infrastructure
      filter:
        src_namespace: 'openshift-,netobserv'
        dst_namespace: 'openshift-,netobserv'
    - name: Pods network
      filter:
        src_kind: 'Pod'
        dst_kind: 'Pod'
      default: true
    - name: Services network
      filter:
        dst_kind: 'Service'

1
에이전트 사양인 spec.agent.type 은 skopeo PF 여야 합니다. eBPF는 OpenShift Container Platform에서 지원되는 유일한 옵션입니다.
2
Sampling 사양인 spec.agent.ebpf.sampling 을 설정하여 리소스를 관리할 수 있습니다. 더 낮은 샘플링 값은 많은 양의 곱셈, 메모리 및 스토리지 리소스를 소비할 수 있습니다. 샘플링 비율 값을 지정하여 이 문제를 완화할 수 있습니다. 값 100은 100마다 1 흐름이 샘플링됨을 의미합니다. 값이 0 또는 1이면 모든 흐름이 캡처됩니다. 값이 낮을수록 반환된 흐름이 증가하고 파생된 지표의 정확도가 높아집니다. 기본적으로 eBPF 샘플링은 50 값으로 설정되므로 50마다 1개의 흐름이 샘플링됩니다. 더 많은 샘플 흐름도 더 많은 스토리지가 필요하다는 것을 의미합니다. 클러스터에서 관리할 수 있는 설정을 결정하려면 기본값으로 시작하고 경험적으로 구체화하는 것이 좋습니다.
3
spec.loki의 spec.loki 는 client를 지정합니다. 기본값은 Installing the iPXE Operator 섹션에 언급된 iPXE 설치 경로와 일치합니다. CloudEvent에 대한 다른 설치 방법을 사용한 경우 설치에 적합한 클라이언트 정보를 지정합니다.
4
spec.quickFilters 사양은 웹 콘솔에 표시되는 필터를 정의합니다. 애플리케이션 필터 키인 10.0.0.1_namespacedst_namespace 는 부정(!)이므로 애플리케이션 필터는 시작되지 않거나 openshift- 또는 netobserv 네임스페이스의 대상이 아닌 모든 트래픽을 표시합니다. 자세한 내용은 아래 빠른 필터 구성을 참조하십시오.

31.5.2. Kafka를 사용하여 흐름 수집기 리소스 구성

Kafka를 사용하도록 FlowCollector 리소스를 구성할 수 있습니다. Kafka 인스턴스가 실행 중이어야 하며 해당 인스턴스에서 OpenShift Container Platform Network Observability 전용 Kafka 주제를 생성해야 합니다. 자세한 내용은 AMQ Streams의 Kafka 설명서와 같은 Kafka 설명서를 참조하십시오.

다음 예제에서는 Kafka를 사용하도록 OpenShift Container Platform Network Observability Operator의 FlowCollector 리소스를 수정하는 방법을 보여줍니다.

FlowCollector 리소스의 Kafka 구성 샘플

  deploymentModel: KAFKA                                    1
  kafka:
    address: "kafka-cluster-kafka-bootstrap.netobserv"      2
    topic: network-flows                                    3
    tls:
      enable: false                                         4

1
Kafka 배포 모델을 활성화하려면 DIRECT 대신 spec.deploymentModelKAFKA 로 설정합니다.
2
spec.kafka.address 는 Kafka 부트스트랩 서버 주소를 나타냅니다. 필요한 경우 포트 9093에서 TLS를 사용하기 위해 kafka-cluster-kafka-bootstrap.netobserv:9093 과 같은 포트를 지정할 수 있습니다.
3
spec.kafka.topic 은 Kafka에서 생성된 주제의 이름과 일치해야 합니다.
4
spec.kafka.tls 는 TLS 또는 mTLS를 사용하여 Kafka와의 모든 통신을 암호화하는 데 사용할 수 있습니다. 활성화된 경우 Kafka CA 인증서를 ConfigMap 또는 Secret으로 사용할 수 있어야 합니다. flowlogs-pipeline 프로세서 구성 요소가 배포된 네임스페이스(default: netobserv)와 eBPF 에이전트가 배포된 네임스페이스(기본값: netobserv- privileged). spec.kafka.tls.caCert 를 사용하여 참조해야 합니다. mTLS를 사용하는 경우 이러한 네임스페이스에서 클라이언트 시크릿을 사용할 수 있어야 하며 ( AMQ Streams User Operator를 사용하여 인스턴스의 경우 생성할 수 있음) spec.kafka.tls.userCert 로 참조되어야 합니다.

31.5.3. Flow Collector 리소스 업데이트

OpenShift Container Platform 웹 콘솔에서 YAML을 편집하는 대신 flowcollector CR(사용자 정의 리소스)에 패치를 적용하여 eBPF 샘플링과 같은 사양을 구성할 수 있습니다.

절차

  1. 다음 명령을 실행하여 flowcollector CR을 패치하고 spec.agent.ebpf.sampling 값을 업데이트합니다.

    $ oc patch flowcollector cluster --type=json -p "[{"op": "replace", "path": "/spec/agent/ebpf/sampling", "value": <new value>}] -n netobserv"

31.5.4. 퀵 필터 구성

FlowCollector 리소스에서 필터를 수정할 수 있습니다. 정확한 일치는 값의 double-quotes를 사용할 수 있습니다. 그렇지 않으면 부분 일치 항목이 텍스트 값에 사용됩니다. 키의 끝에 배치된 bang(!) 문자는 부정을 의미합니다. YAML 수정에 대한 자세한 내용은 샘플 FlowCollector 리소스를 참조하십시오.

참고

"all of" 또는 "any of"라는 필터 일치는 사용자가 쿼리 옵션에서 수정할 수 있는 UI 설정입니다. 이 리소스 구성은 포함되지 않습니다.

다음은 사용 가능한 모든 필터 키 목록입니다.

표 31.2. 필터 키
Universal*소스대상설명

namespace

src_namespace

dst_namespace

특정 네임스페이스와 관련된 트래픽을 필터링합니다.

name

src_name

dst_name

특정 Pod, 서비스 또는 노드(호스트 네트워크 트래픽용)와 같은 지정된 리프 리소스 이름과 관련된 트래픽을 필터링합니다.

kind

src_kind

dst_kind

지정된 리소스 종류와 관련된 트래픽을 필터링합니다. 리소스 종류에는 리프 리소스(Pod, 서비스 또는 노드) 또는 소유자 리소스(Deployment 및 StatefulSet)가 포함됩니다.

owner_name

src_owner_name

dst_owner_name

지정된 리소스 소유자, 즉 워크로드 또는 Pod 세트와 관련된 트래픽을 필터링합니다. 예를 들어 배포 이름, StatefulSet 이름 등을 사용할 수 있습니다.

resource

src_resource

dst_resource

고유하게 식별하는 표준 이름으로 표시되는 특정 리소스와 관련된 트래픽을 필터링합니다. 정식 표기법은 네임스페이스가 지정된 종류의 kind.namespace.name 또는 노드의 node.name 입니다. 예를 들면 Deployment.my-namespace.my-web-server 입니다.

address

src_address

dst_address

IP 주소와 관련된 트래픽을 필터링합니다. IPv4 및 IPv6가 지원됩니다. CIDR 범위도 지원됩니다.

mac

src_mac

dst_mac

MAC 주소와 관련된 트래픽을 필터링합니다.

port

src_port

dst_port

특정 포트와 관련된 트래픽을 필터링합니다.

host_address

src_host_address

dst_host_address

Pod가 실행 중인 호스트 IP 주소와 관련된 트래픽을 필터링합니다.

프로토콜

해당 없음

해당 없음

TCP 또는 UDP와 같은 프로토콜과 관련된 트래픽을 필터링합니다.

  • 소스 또는 대상에 대한 범용 키 필터입니다. 예를 들어, 필터링 name: ' my-pod ' 는 일치하는 유형(all 또는 Match any ) 여부에 관계없이 my-pod 및 모든 트래픽의 모든 트래픽을 의미합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.