5.2. 트리거 생성
브로커는 트리거와 함께 이벤트를 이벤트 소스에서 이벤트 싱크로 전달하는 데 사용할 수 있습니다. 이벤트는 HTTP POST
요청으로 이벤트 소스에서 브로커로 전송됩니다. 이벤트가 브로커에 진입하면 트리거를 사용하여 CloudEvent 특성에 따라 필터링하고 이벤트 싱크에 HTTP POST
요청으로 전송할 수 있습니다.
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 서비스를 생성했습니다.
프로세스
-
OpenShift Container Platform 웹 콘솔의 관리자 화면에서 Serverless
Eventing으로 이동합니다. - 브로커 탭에서 트리거를 추가할 브로커의 옵션 메뉴 를 선택합니다.
- 목록에서 트리거 추가를 클릭합니다.
- 트리거 추가 대화 상자에서 트리거에 대한 구독자를 선택합니다. 구독자는 브로커에서 이벤트를 수신하는 Knative 서비스입니다.
- 추가를 클릭합니다.
5.2.2. 개발자 화면을 사용하여 트리거 생성
OpenShift Container Platform 웹 콘솔을 사용하면 간소화되고 직관적인 사용자 인터페이스를 통해 트리거를 생성할 수 있습니다. Knative Eventing이 클러스터에 설치되고 브로커를 생성한 후 웹 콘솔을 사용하여 트리거를 생성할 수 있습니다.
사전 요구 사항
- OpenShift Serverless Operator, Knative Serving, Knative Eventing이 OpenShift Container Platform 클러스터에 설치되어 있습니다.
- 웹 콘솔에 로그인했습니다.
- 프로젝트를 생성했거나 OpenShift Container Platform에서 애플리케이션 및 기타 워크로드를 생성하는 데 적절한 역할 및 권한이 있는 프로젝트에 액세스할 수 있습니다.
- 트리거에 연결할 브로커 및 Knative 서비스 또는 기타 이벤트 싱크를 생성했습니다.
프로세스
- 개발자 화면에서 토폴로지 페이지로 이동합니다.
- 트리거를 생성할 브로커 위로 마우스 커서를 이동한 후 화살표를 끕니다. 트리거 추가 옵션이 표시됩니다.
- 트리거 추가를 클릭합니다.
- 구독자 목록에서 싱크를 선택합니다.
- 추가를 클릭합니다.
검증
- 서브스크립션이 생성되면 토폴로지 페이지에서 브로커를 이벤트 싱크에 연결하는 선으로 표시할 수 있습니다.
트리거 삭제
- 개발자 화면에서 토폴로지 페이지로 이동합니다.
- 삭제할 트리거를 클릭합니다.
- 작업 컨텍스트 메뉴에서 트리거 삭제를 선택합니다.
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
특성을 사용하면 브로커의 이벤트를 필터링하여 구독자에게 정의된 기준에 따라 일부 이벤트만 제공할 수 있습니다.