5.2. 트리거 생성


Knative Eventing의 트리거를 사용하면 요구 사항에 따라 브로커의 이벤트를 특정 구독자로 라우팅할 수 있습니다. 트리거를 정의하면 이벤트 생산자를 소비자에 동적으로 연결하여 이벤트가 올바른 대상으로 전달되도록 할 수 있습니다. 이 섹션에서는 트리거를 생성하고 필터를 구성하고 해당 기능을 확인하는 단계에 대해 설명합니다. 간단한 라우팅 요구 사항 또는 복잡한 이벤트 기반 워크플로로 작업하는지 여부입니다.

다음 예제에서는 이벤트를 Knative 서비스 또는 사용자 정의 끝점으로 라우팅하는 방법을 보여주는 트리거의 일반적인 구성을 보여줍니다.

Knative Serving 서비스로 이벤트 라우팅의 예

다음 Trigger는 default 브로커의 모든 이벤트를 my-service 라는 Knative Serving 서비스로 라우팅합니다.

apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  name: my-service-trigger
spec:
  broker: default
  filter:
    attributes:
      type: dev.knative.foo.bar
  subscriber:
    ref:
      apiVersion: serving.knative.dev/v1
      kind: Service
      name: my-service
참고

디버깅을 위해 필터 속성이 없는 모든 이벤트를 라우팅하는 것이 좋습니다. 이를 통해 들어오는 모든 이벤트를 관찰 및 분석하여 특정 필터를 적용하기 전에 문제를 식별하거나 브로커를 통한 이벤트 흐름을 검증할 수 있습니다. 필터링에 대한 자세한 내용은 고급 트리거 필터를 참조하십시오.

이 트리거를 적용하려면 구성을 파일에 저장(예: trigger.yaml )하고 다음 명령을 실행할 수 있습니다.

$ oc apply -f trigger.yaml

사용자 정의 경로로 이벤트 라우팅 예

이 Trigger는 모든 이벤트를 default 브로커에서 my-service 라는 서비스의 사용자 정의 경로 /my-custom-path 로 라우팅합니다.

apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  name: my-service-trigger
spec:
  broker: default
  subscriber:
    ref:
      apiVersion: v1
      kind: Service
      name: my-service
    uri: /my-custom-path

구성을 파일에 저장할 수 있습니다(예: custom-path-trigger.yaml ).

$ oc apply -f custom-path-trigger.yaml

5.2.1. 관리자 화면을 사용하여 트리거 생성

OpenShift Container Platform 웹 콘솔을 사용하면 간소화되고 직관적인 사용자 인터페이스를 통해 트리거를 생성할 수 있습니다. Knative Eventing이 클러스터에 설치되고 브로커를 생성한 후 웹 콘솔을 사용하여 트리거를 생성할 수 있습니다.

사전 요구 사항

  • OpenShift Serverless Operator 및 Knative Eventing이 OpenShift Container Platform 클러스터에 설치되어 있습니다.
  • 웹 콘솔에 로그인한 후 관리자 화면에 있습니다.
  • OpenShift Container Platform에 대한 클러스터 관리자 권한이 있거나 AWS 또는 OpenShift Dedicated의 Red Hat OpenShift Service에 대한 클러스터 또는 전용 관리자 권한이 있습니다.
  • Knative 브로커를 생성했습니다.
  • 구독자로 사용할 Knative 서비스를 생성했습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔의 관리자 화면에서 Serverless Eventing으로 이동합니다.
  2. 브로커 탭에서 트리거를 추가할 브로커의 옵션 메뉴 kebab 를 선택합니다.
  3. 목록에서 트리거 추가를 클릭합니다.
  4. 트리거 추가 대화 상자에서 트리거에 대한 구독자를 선택합니다. 구독자는 브로커에서 이벤트를 수신하는 Knative 서비스입니다.
  5. 추가를 클릭합니다.

5.2.2. 개발자 화면을 사용하여 트리거 생성

OpenShift Container Platform 웹 콘솔을 사용하면 간소화되고 직관적인 사용자 인터페이스를 통해 트리거를 생성할 수 있습니다. Knative Eventing이 클러스터에 설치되고 브로커를 생성한 후 웹 콘솔을 사용하여 트리거를 생성할 수 있습니다.

사전 요구 사항

  • OpenShift Serverless Operator, Knative Serving, Knative Eventing이 OpenShift Container Platform 클러스터에 설치되어 있습니다.
  • 웹 콘솔에 로그인했습니다.
  • 프로젝트를 생성했거나 OpenShift Container Platform에서 애플리케이션 및 기타 워크로드를 생성하는 데 적절한 역할 및 권한이 있는 프로젝트에 액세스할 수 있습니다.
  • 트리거에 연결할 브로커 및 Knative 서비스 또는 기타 이벤트 싱크를 생성했습니다.

프로세스

  1. 개발자 화면에서 토폴로지 페이지로 이동합니다.
  2. 트리거를 생성할 브로커 위로 마우스 커서를 이동한 후 화살표를 끕니다. 트리거 추가 옵션이 표시됩니다.
  3. 트리거 추가를 클릭합니다.
  4. 구독자 목록에서 싱크를 선택합니다.
  5. 추가를 클릭합니다.

검증

  • 서브스크립션이 생성되면 Topology 페이지에서 브로커를 이벤트 싱크에 연결하는 선으로 표시됩니다.

트리거 삭제

  1. 개발자 화면에서 토폴로지 페이지로 이동합니다.
  2. 삭제할 트리거를 클릭합니다.
  3. 작업 컨텍스트 메뉴에서 트리거 삭제를 선택합니다.

5.2.3. Knative CLI를 사용하여 트리거 생성

kn trigger create 명령을 사용하여 트리거를 생성할 수 있습니다.

사전 요구 사항

  • OpenShift Serverless Operator 및 Knative Eventing이 OpenShift Container Platform 클러스터에 설치되어 있습니다.
  • Knative(kn) CLI가 설치되어 있습니다.
  • 프로젝트를 생성했거나 OpenShift Container Platform에서 애플리케이션 및 기타 워크로드를 생성하는 데 적절한 역할 및 권한이 있는 프로젝트에 액세스할 수 있습니다.

프로세스

  • 트리거를 생성합니다.

    $ kn trigger create <trigger_name> --broker <broker_name> --filter <key=value> --sink <sink_name>

    또는 트리거를 생성하고 브로커 삽입을 사용하여 default 브로커를 동시에 생성할 수 있습니다.

    $ kn trigger create <trigger_name> --inject-broker --filter <key=value> --sink <sink_name>

    기본적으로 트리거는 브로커에 전송된 모든 이벤트를 해당 브로커에 가입된 싱크로 전달합니다. 트리거에 --filter 특성을 사용하면 브로커의 이벤트를 필터링하여 구독자에게 정의된 기준에 따라 일부 이벤트만 제공할 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.