검색

5.9. 이벤트 구성 튜닝

download PDF

5.9.1. Knative Eventing 시스템 배포 구성 덮어쓰기

KnativeEventing CR(사용자 정의 리소스)에서 deployments 사양을 수정하여 일부 특정 배포에 대한 기본 구성을 덮어쓸 수 있습니다.

5.9.1.1. 배포 구성 덮어쓰기

현재 eventing-controller,eventing-webhook, imc-controller 필드에는 기본 구성 설정을 재정의하고 프로브의 readinessliveness 필드에도 지원됩니다.

중요

replicas 사양은 HPA(Horizond Pod Autoscaler)를 사용하는 배포의 복제본 수를 재정의할 수 없으며 eventing-webhook 배포에 작동하지 않습니다.

다음 예에서 KnativeEventing CR은 eventing-controller 배포를 재정의하여 다음을 수행합니다.

  • readiness 프로브 시간 초과 eventing-controller 가 10초로 설정됩니다.
  • 배포에 CPU 및 메모리 리소스 제한이 지정되었습니다.
  • 배포에는 3개의 복제본이 있습니다.
  • example-label: 레이블 레이블이 추가되었습니다.
  • example-annotation: 주석 주석이 추가되었습니다.
  • nodeSelector 필드는 disktype: hdd 라벨이 있는 노드를 선택하도록 설정됩니다.

KnativeEventing CR 예

apiVersion: operator.knative.dev/v1beta1
kind: KnativeEventing
metadata:
  name: knative-eventing
  namespace: knative-eventing
spec:
  deployments:
  - name: eventing-controller
    readinessProbes: 1
      - container: controller
        timeoutSeconds: 10
    resources:
    - container: eventing-controller
      requests:
        cpu: 300m
        memory: 100Mi
      limits:
        cpu: 1000m
        memory: 250Mi
    replicas: 3
    labels:
      example-label: label
    annotations:
      example-annotation: annotation
    nodeSelector:
      disktype: hdd

1
준비 상태 및 활성 상태 프로브 덮어쓰기를 사용하여 프로브에 지정된 대로 Kubernetes API에 지정된 대로 배포 컨테이너에 있는 프로브의 모든 필드를 재정의할 수 있습니다. 그러나 프로브 처리기와 관련된 필드인 exec,grpc,httpGet, tcpSocket.
참고

KnativeEventing CR 레이블 및 주석 설정은 배포 자체와 결과 Pod 모두에 대한 배포의 라벨 및 주석을 재정의합니다.

5.9.2. 고가용성

고가용성(HA)은 중단이 발생하는 경우 API가 작동하도록 하는 데 도움이 되는 Kubernetes API의 표준 기능입니다. HA 배포에서 활성 컨트롤러가 충돌하거나 삭제되면 다른 컨트롤러를 쉽게 사용할 수 있습니다. 이 컨트롤러는 현재 사용할 수 없는 컨트롤러에서 서비스하고 있는 API를 대신 처리합니다.

OpenShift Serverless의 HA는 Knative Serving 또는 Eventing 컨트롤 플레인을 설치하면 기본적으로 활성화되는 리더 선택을 통해 사용할 수 있습니다. 리더 선택 HA 패턴을 사용하는 경우에는 요구하기 전에 컨트롤러의 인스턴스가 이미 예약되어 클러스터 내에서 실행됩니다. 이러한 컨트롤러 인스턴스는 리더 선택 잠금이라는 공유 리소스를 사용하기 위해 경쟁합니다. 특정 시점에 리더 선택 잠금 리소스에 액세스할 수 있는 컨트롤러의 인스턴스를 리더라고 합니다.

OpenShift Serverless의 HA는 Knative Serving 또는 Eventing 컨트롤 플레인을 설치하면 기본적으로 활성화되는 리더 선택을 통해 사용할 수 있습니다. 리더 선택 HA 패턴을 사용하는 경우에는 요구하기 전에 컨트롤러의 인스턴스가 이미 예약되어 클러스터 내에서 실행됩니다. 이러한 컨트롤러 인스턴스는 리더 선택 잠금이라는 공유 리소스를 사용하기 위해 경쟁합니다. 특정 시점에 리더 선택 잠금 리소스에 액세스할 수 있는 컨트롤러의 인스턴스를 리더라고 합니다.

5.9.2.1. Knative Eventing의 고가용성 복제본 구성

HA(고가용성)는 기본적으로 두 개의 복제본을 사용하도록 구성된 Knative Eventing eventing-controller,eventing-webhook,imc-controller,imc-dispatcher, mt-broker-controller 구성 요소에 대해 기본적으로 사용할 수 있습니다. KnativeEventing CR(사용자 정의 리소스)의 spec.high-availability.replicas 값을 수정하여 이러한 구성 요소의 복제본 수를 변경할 수 있습니다.

참고

Knative Eventing의 경우 mt-broker-filtermt-broker-ingress 배포는 HA에 의해 확장되지 않습니다. 여러 배포가 필요한 경우 이러한 구성 요소를 수동으로 스케일링합니다.

사전 요구 사항

  • 클러스터 관리자 액세스 권한이 있는 OpenShift Container Platform 계정에 액세스할 수 있습니다.
  • OpenShift Serverless Operator 및 Knative Eventing이 클러스터에 설치되어 있습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔의 관리자 화면에서 OperatorHub 설치된 Operator로 이동합니다.
  2. knative-serving 네임스페이스를 선택합니다.
  3. OpenShift Serverless Operator의 제공되는 API 목록에서 Knative Eventing을 클릭하여 Knative Eventing 탭으로 이동합니다.
  4. knative-eventing을 클릭한 다음 knative-eventing 페이지의 YAML 탭으로 이동합니다.

    Knative Eventing YAML
  5. KnativeEventing CR의 복제본 수를 수정합니다.

    YAML의 예

    apiVersion: operator.knative.dev/v1beta1
    kind: KnativeEventing
    metadata:
      name: knative-eventing
      namespace: knative-eventing
    spec:
      high-availability:
        replicas: 3

5.9.2.2. Knative Kafka의 고가용성 복제본 구성

기본적으로 각 복제본이 두 개로 구성된 Knative Kafka kafka-controllerkafka-webhook-eventing 구성 요소에 HA(고가용성)를 사용할 수 있습니다. KnativeKafka CR(사용자 정의 리소스)의 spec.high-availability.replicas 값을 수정하여 이러한 구성 요소의 복제본 수를 변경할 수 있습니다.

사전 요구 사항

  • 클러스터 관리자 액세스 권한이 있는 OpenShift Container Platform 계정에 액세스할 수 있습니다.
  • OpenShift Serverless Operator 및 Knative Kafka가 클러스터에 설치되어 있습니다.

절차

  1. OpenShift Container Platform 웹 콘솔의 관리자 화면에서 OperatorHub 설치된 Operator로 이동합니다.
  2. knative-serving 네임스페이스를 선택합니다.
  3. OpenShift Serverless Operator의 제공되는 API 목록에서 Knative Kafka를 클릭하여 Knative Kafka 탭으로 이동합니다.
  4. knative-kafka를 클릭한 다음 knative-kafka 페이지의 YAML 탭으로 이동합니다.

    Knative Kafka YAML
  5. KnativeKafka CR의 복제본 수를 수정합니다.

    YAML의 예

    apiVersion: operator.serverless.openshift.io/v1alpha1
    kind: KnativeKafka
    metadata:
      name: knative-kafka
      namespace: knative-eventing
    spec:
      high-availability:
        replicas: 3

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.