3장. Kamelets를 사용하여 Knative에 연결
Kamelets를 Knative 대상(채널 또는 브로커)에 연결할 수 있습니다. Red Hat OpenShift Serverless는 엔터프라이즈급 서버리스 플랫폼을 활성화하여 하이브리드 및 멀티 클라우드 환경 전반에서 이식성과 일관성을 제공하는 오픈 소스 Knative 프로젝트를 기반으로 합니다. OpenShift Serverless에는 Knative Eventing 및 Knative Serving 구성 요소가 지원됩니다.
Red Hat OpenShift Serverless, Knative Eventing 및 Knative Serving을 사용하면 이벤트 중심 아키텍처를 서버리스 애플리케이션과 함께 사용하여 게시- 구독 또는 이벤트 스트리밍 모델을 사용하여 이벤트 생산자와 소비자 간의 관계를 분리할 수 있습니다. Knative Eventing은 표준 HTTP POST 요청을 사용하여 이벤트 생산자와 소비자 간에 이벤트를 전송하고 수신합니다. 이러한 이벤트는 이벤트를 모든 프로그래밍 언어로 생성, 구문 분석, 전송, 수신할 수 있도록 CloudEvents 사양을 준수합니다.
Kamelets를 사용하여 CloudEvents를 Knative로 전송하고 Knative에서 이벤트 소비자로 보낼 수 있습니다. Kamelets는 메시지를 CloudEvents로 변환할 수 있으며 이를 사용하여 CloudEvents 내의 데이터의 사전 처리 및 후 처리를 적용할 수 있습니다.
3.1. Kamelets를 사용하여 Knative 연결 개요 링크 복사링크가 클립보드에 복사되었습니다!
Knative 스트림 처리 프레임워크를 사용하는 경우 Kamelets를 사용하여 서비스와 애플리케이션을 Knative 대상(채널 또는 브로커)에 연결할 수 있습니다.
그림 3.1 은 소스 및 싱크 Kamelets를 Knative 대상에 연결하는 흐름을 보여줍니다.
그림 3.1: Kamelets 및 Knative 채널을 사용한 데이터 흐름
다음은 Kamelets 및 Kamelet Bindings를 사용하여 애플리케이션 및 서비스를 Knative 대상에 연결하는 기본 단계의 개요입니다.
Knative를 설정합니다.
- Camel K 및 OpenShift Serverless Operator를 설치하여 OpenShift 클러스터를 준비합니다.
- 필요한 Knative Serving 및 Eventing 구성 요소를 설치합니다.
- Knative 채널 또는 브로커를 생성합니다.
- Knative 채널 또는 브로커에 연결할 서비스 또는 애플리케이션을 결정합니다.
- Kamelet Catalog를 보고 통합에 추가할 소스 및 싱크 구성 요소의 Kamelets를 찾습니다. 또한 사용하려는 각 Kamelet에 필요한 구성 매개변수를 확인합니다.
Kamelet 바인딩을 생성합니다.
- 소스 Kamelet을 Knative 채널(또는 브로커)에 연결하는 Kamelet Binding을 생성합니다.
- Knative 채널(또는 브로커)을 싱크 Kamelet에 연결하는 Kamelet 바인딩을 생성합니다.
- 필요한 경우 Kamelet Binding 내에서 중간 단계로 하나 이상의 작업 Kamelets를 추가하여 Knative 채널(또는 브로커)과 데이터 소스 또는 싱크 간에 전달되는 데이터를 조작합니다.
- 필요한 경우 Kamelet Binding 내에서 오류를 처리하는 방법을 정의합니다.
- Kamelet Bindings를 프로젝트에 리소스로 적용합니다.
Camel K Operator는 각 Kamelet Binding에 대해 별도의 Camel 통합을 생성합니다.
Knative 채널 또는 브로커를 이벤트 소스로 사용하도록 Kamelet Binding을 구성하는 경우 Camel K Operator는 Knative에서 제공하는 자동 확장 기능을 활용하기 위해 해당 통합을 Knative Serving 서비스로 구체화합니다.