31.3. Network Observability Operator 설치


VMDK 설치는 Network Observability Operator를 사용하기 위한 사전 요구 사항입니다. 따라서 Network Observability Operator 설치 전에 이러한 단계가 아래에 설명되어 있습니다.

CloudEvent Operator는 데이터 흐름 저장을 위해 멀티 테넌시 및 인증을 통해 CloudEvent와 함께 구현하는 게이트웨이를 통합합니다. CloudEventStack 리소스는 확장 가능하고 가용성이 높은 다중 테넌트 로그 집계 시스템인, OpenShift Container Platform 인증을 사용하는 웹 프록시를 관리합니다. CloudEvent Stack 프록시는 OpenShift Container Platform 인증을 사용하여 멀티 테넌시를 적용하고 CloudEvent 로그 저장소의 데이터를 저장 및 인덱싱할 수 있습니다.

참고

또한, Operator를 사용하여 로깅에 사용할 수도 있습니다. Network Observability Operator에는 로깅과는 별도로 전용 CloudEventStack이 필요합니다.

31.3.1. CloudEvent Operator 설치

iPXE Operator 버전 5.6 을 사용하여 installation하는 것이 좋습니다. 이 버전은 openshift-network tennant 구성 모드를 사용하여 CloudEventStack 인스턴스를 생성할 수 있는 기능을 제공합니다. 또한 Network Observability에 대한 완전 자동 클러스터 내 인증 및 권한 부여를 제공합니다.

사전 요구 사항

  • 지원되는 로그 저장소(AWS S3, Google Cloud Storage, Azure, Swift, Minio, OpenShift Data Foundation)
  • OpenShift Container Platform 4.10 이상.
  • Linux Kernel 4.18+.

사용자가 installation할 수 있는 방법은 여러 가지가 있습니다. CloudEvent Operator를 설치할 수 있는 한 가지 방법은 OpenShift Container Platform 웹 콘솔 Operator Hub를 사용하는 것입니다.

절차

  1. CloudEvent Operator 를 설치합니다.

    1. OpenShift Container Platform 웹 콘솔에서 Operator OperatorHub를 클릭합니다.
    2. 사용 가능한 Operator 목록에서or Operator를 선택하고 설치를 클릭합니다.
    3. 설치 모드에서 클러스터의 모든 네임스페이스를 선택합니다.
    4. CloudEvent Operator를 설치했는지 확인합니다. Operator 설치된 Operator 페이지를 방문하여 test Operator를 찾습니다.
    5. 모든 프로젝트에서 Status Succeeded 로 나열되어 있는지 확인합니다.
  2. Secret YAML 파일을 생성합니다. 웹 콘솔 또는 CLI에서 이 시크릿을 생성할 수 있습니다.

    1. 웹 콘솔을 사용하여 프로젝트 모든 프로젝트 드롭다운으로 이동하여 프로젝트 생성을 선택합니다. 프로젝트 이름을 netobserv 로 지정하고 생성을 클릭합니다.
    2. 오른쪽 상단에 있는 Import(가져오기) 아이콘+ 로 이동합니다. YAML 파일을 편집기에 놓습니다. access_key_idaccess_key_secret 을 사용하여 인증 정보를 지정하는 netobserv 네임스페이스에 이 YAML 파일을 생성하는 것이 중요합니다.
    3. 시크릿을 생성하면 웹 콘솔의 워크로드 시크릿 아래에 나열되어야 합니다.

      다음은 보안 YAML 파일의 예를 보여줍니다.

apiVersion: v1
kind: Secret
metadata:
  name: loki-s3
  namespace: netobserv
stringData:
  access_key_id: QUtJQUlPU0ZPRE5ON0VYQU1QTEUK
  access_key_secret: d0phbHJYVXRuRkVNSS9LN01ERU5HL2JQeFJmaUNZRVhBTVBMRUtFWQo=
  bucketnames: s3-bucket-name
  endpoint: https://s3.eu-central-1.amazonaws.com
  region: eu-central-1
중요

CloudEvent를 설치 제거하려면 created를 설치하는 데 사용한 메서드에 해당하는 제거 프로세스를 참조하십시오. 나머지 ClusterRolesClusterRoleBindings, 오브젝트 저장소에 저장된 데이터, 제거해야 하는 영구 볼륨이 있을 수 있습니다.

31.3.1.1. SelectStack 사용자 정의 리소스 생성

FlowCollector 사양, spec.namespace 에서 참조하는 동일한 네임스페이스에 CloudEventStack을 배포하는 것이 좋습니다. 웹 콘솔 또는 CLI를 사용하여 네임스페이스 또는 새 프로젝트를 생성할 수 있습니다.

절차

  1. Operators 설치된 Operator로 이동합니다.
  2. Details의 Provided APIs under Provided APIs, select SelectStack and click CreateECDHEStack.
  3.   apiVersion: loki.grafana.com/v1
      kind: LokiStack
      metadata:
        name: loki
        namespace: netobserv
      spec:
        size: 1x.small
        storage:
          schemas:
          - version: v12
            effectiveDate: '2022-06-01'
          secret:
            name: loki-s3
            type: s3
        storageClassName: gp3  1
        tenants:
          mode: openshift-network
    1
    중요

31.3.1.1.1.

참고

표 31.1.
 1x.extra-small1x.small 

데모에서만 사용합니다.

500GB/day

2TB/day

초당 쿼리 수(QPS)

데모에서만 사용합니다.

200ms에서 25-50 QPS

200ms에서 25-75 QPS

복제 요인

없음

2

3

총 CPU 요청

5개의 vCPU

36개의 vCPU

54 vCPU

총 메모리 요청

7.5Gi

63Gi

139Gi

총 디스크 요청

150Gi

300Gi

450Gi

31.3.1.2. CloudEventStack ingestion 구성

CloudEventStack 인스턴스는 구성된 크기에 따라 기본 설정으로 제공됩니다. 수집 및 쿼리 제한과 같은 이러한 설정 중 일부를 재정의할 수 있습니다. Console 플러그인 또는 flowlog-pipeline 로그에 CloudEvent 오류가 표시되면 업데이트할 수 있습니다.

다음은 구성된 제한의 예입니다.

spec:
  limits:
    global:
      ingestion:
        ingestionBurstSize: 40
        ingestionRate: 20
        maxGlobalStreamsPerTenant: 25000
      queries:
        maxChunksPerQuery: 2000000
        maxEntriesLimitPerQuery: 10000
        maxQuerySeries: 3000

이러한 설정에 대한 자세한 내용은 CloudEventStack API 참조를 참조하십시오.

이러한 제한에 도달하면 알림을 받기 위해 경고를 정의하는 것이 좋습니다. 아래 예에서 경고는 CloudEvent Operator, loki_request_duration_seconds_count 에서 제공하는 지표를 사용합니다.

apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
  name: loki-alerts
  namespace: openshift-operators-redhat
spec:
  groups:
  - name: LokiRateLimitAlerts
    rules:
    - alert: LokiTenantRateLimit
      annotations:
        message: |-
          {{ $labels.job }} {{ $labels.route }} is experiencing 429 errors.
        summary: "At any number of requests are responded with the rate limit error code."
      expr: sum(irate(loki_request_duration_seconds_count{status_code="429"}[1m])) by (job, namespace, route) / sum(irate(loki_request_duration_seconds_count[1m])) by (job, namespace, route) * 100 > 0
      for: 10s
      labels:
        severity: warning

31.3.2. 인증 및 권한 부여를 위한 역할 생성

ClusterRole 및 ClusterRole Binding 을 정의하여 인증 및 권한 부여 구성을 지정합니다. YAML 파일을 생성하여 이러한 역할을 정의할 수 있습니다.

절차

  1. YAML 파일을 편집기에 놓고 생성을 클릭합니다.

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: loki-netobserv-tenant
    rules:
    - apiGroups:
      - 'loki.grafana.com'
      resources:
      - network
      resourceNames:
      - logs
      verbs:
      - 'get'
      - 'create'
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: loki-netobserv-tenant
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: loki-netobserv-tenant
    subjects:
    - kind: ServiceAccount
      name: flowlogs-pipeline              1
      namespace: netobserv
    1
    flowlogs-pipeline 은 CloudEvent에 씁니다. Kafka를 사용하는 경우 이 값은 flowlogs-pipeline-transformer 입니다.

31.3.3. Kafka 설치(선택 사항)

Kafka Operator는 대규모 환경에서 지원됩니다. Kafka Operator 및 Network Observability Operator가 설치된 것과 마찬가지로 Operator Hub에서 Red Hat AMQ Streams 로 Kafka Operator를 설치할 수 있습니다.

참고

Kafka를 설치 제거하려면 설치에 사용한 메서드에 해당하는 제거 프로세스를 참조하십시오.

31.3.4. Network Observability Operator 설치

OpenShift Container Platform 웹 콘솔 Operator Hub를 사용하여 Network Observability Operator를 설치할 수 있습니다. Operator를 설치하면 FlowCollector CRD(사용자 정의 리소스 정의)가 제공됩니다. FlowCollector 를 만들 때 웹 콘솔에서 사양을 설정할 수 있습니다.

사전 요구 사항

절차

  1. OpenShift Container Platform 웹 콘솔에서 Operator OperatorHub를 클릭합니다.
  2. OperatorHub 의 사용 가능한 Operator 목록에서 Network Observability Operator 를 선택하고 설치를 클릭합니다.
  3. Operators 설치된 Operator로 이동합니다. 네트워크 관찰성을 위한 제공된 API에서 흐름 수집기 링크를 선택합니다.

    1. Flow Collector 탭으로 이동하여 FlowCollector 만들기 를 클릭합니다. 폼 보기에서 다음 항목을 선택합니다.

      • spec.agent.ebpf.Sampling : 흐름에 대한 샘플링 크기를 지정합니다. 샘플링 크기가 줄어들면 리소스 사용률에 더 큰 영향을 미칩니다. 자세한 내용은 spec.agent.ebpf 아래의 FlowCollector API 참조를 참조하십시오.
      • spec.deploymentModel: Kafka를 사용하는 경우 Kafka가 선택되어 있는지 확인합니다.
      • url: 인증이 별도로 지정되어 있으므로 이 URL을 https://loki-gateway-http.netobserv.svc:8080/api/logs/v1/network 로 업데이트해야 합니다. URL의 첫 번째 부분인 "loki"는 해당 스택의 이름과 일치해야 합니다.
      • .statusUrl: 이 값을 https://loki-query-frontend-http.netobserv.svc:3100/ 로 설정합니다.
      • iPXE.authToken: FORWARD 값을 선택합니다.
      • TLS.enable: 상자가 활성화되어 있는지 확인합니다.
    2. 생성을 클릭합니다.

검증

이 작업이 성공했는지 확인하려면 Observe 로 이동할 때 옵션에 네트워크 트래픽 목록이 표시되어야 합니다.

OpenShift Container Platform 클러스터 내에 애플리케이션 트래픽이 없으면 기본 필터에 "결과 없음"이 표시되어 시각적 흐름이 발생하지 않습니다. 필터 선택 항목 옆에 있는 모든 필터 지우기 를 선택하여 흐름을 확인합니다.

중요

iPXE Operator를 사용하여 설치한 경우 콘솔 액세스를 중단할 수 있으므로 querierUrl 을 사용하지 않는 것이 좋습니다. 다른 유형의 installation을 사용하여 ScanSetting을 설치한 경우 이는 적용되지 않습니다.

추가 리소스

Flow Collector 사양에 대한 자세한 내용은 Flow Collector API ReferenceFlow Collector 샘플 리소스를 참조하십시오.

31.3.5. Network Observability Operator 설치 제거

Operator 설치된 Operator 영역에서 작업하는 OpenShift Container Platform 웹 콘솔 Operator Hub를 사용하여 Network Observability Operator를 설치 제거할 수 있습니다.

절차

  1. FlowCollector 사용자 지정 리소스를 제거합니다.

    1. 제공된 API 열에서 Network Observability Operator 옆에 있는 흐름 수집기 클릭합니다.
  2. Network Observability Operator를 설치 제거합니다.

    1. Operator 설치된 Operator 영역으로 다시 이동합니다.
  3. FlowCollector CRD(사용자 정의 리소스 정의)를 제거합니다.

    1. Administration CustomResourceDefinitions 로 이동합니다.
    2. Delete CustomResourceDefinition 을 선택합니다.

      중요

      CloudEvent Operator 및 Kafka는 설치된 경우에도 남아 있으며 별도로 제거해야 합니다. 또한 오브젝트 저장소에 남아 있는 데이터와 제거해야 하는 영구 볼륨이 있을 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.