2.3. Kamelet Binding의 Kafka 항목에 데이터 소스 연결
데이터 소스를 Kafka 항목에 연결하려면 figure 2.2 에 설명된 대로 Kamelet Binding을 만듭니다.
그림 2.2 Kafka 항목에 데이터 소스 연결
사전 요구 사항
이벤트를 보낼 Kafka 항목의 이름을 알고 있습니다.
이 절차의 예제에서는 이벤트 수신에
test-topic을 사용합니다.Kafka 인스턴스에 대한 다음 매개변수의 값을 알고 있습니다.
- bootstrapServers - Kafka Broker URL의 쉼표로 구분된 목록입니다.
-
password - Kafka에 인증할 암호입니다. OpenShift Streams의 경우
credentials.json파일의 암호입니다.AMQ Streams에서 인증되지 않은 kafka 인스턴스의 경우 비어 있지 않은 문자열을 지정할 수 있습니다. user - Kafka에 인증할 사용자 이름입니다. OpenShift Streams의 경우
credentials.json파일의clientID입니다. AMQ Streams에서 인증되지 않은 kafka 인스턴스의 경우 비어 있지 않은 문자열을 지정할 수 있습니다.OpenShift Streams를 사용할 때 이러한 값을 가져오는 방법에 대한 자세한 내용은 Kafka 인증 정보 가져오기를 참조하십시오.
-
securityProtocol - Kafka 브로커와 통신하기 위한 보안 프로토콜을 알고 있습니다. OpenShift Streams의 Kafka 클러스터의 경우
SASL_SSL(기본값)입니다. AMQ 스트림의 Kafka 클러스터의 경우PLAINTEXT입니다.
Camel K 통합과 필수 인스턴스 매개 변수에 추가할 Kamelets를 알고 있습니다.
이 절차의 예제 Kamelets는 다음과 같습니다.
Coffee
-sourceKamelet - 각 이벤트를 보내는 빈도를 지정하는 선택적 매개변수인period가 있습니다. 예제 소스 Kamelet의 코드를coffee-source.kamelet.yaml 파일이라는 파일에 복사한 다음 다음 명령을 실행하여 네임스페이스에 리소스로 추가할 수 있습니다.oc apply -f coffee-source.kamelet.yaml-
kafka-sinkKamelet은 Kamelet Catalog에 제공됩니다. Kafka 주제에서 이 바인딩에서 데이터(데이터 소비자)를 수신하므로kafka-sinkKamelet을 사용합니다.
절차
데이터 소스를 Kafka 항목에 연결하려면 Kamelet Binding을 생성합니다.
선택한 편집기에서 다음 기본 구조를 사용하여 YAML 파일을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kamelet Binding의 이름을 추가합니다. 이 예제의 경우 바인딩이
coffee-sourceKamelet을kafka-sinkKamelet에 연결하므로 이름은coffees-to-kafka입니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kamelet Binding의 소스의 경우 데이터 소스 Kamelet(예: Coffee 소스 Kamelet에서 데이터
소스Kamelet)을 지정하고 Kamelet에 대한 모든 매개변수를 구성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kamelet Binding의 싱크의 경우
kafka-sinkKamelet과 필요한 속성을 지정합니다.예를 들어 Kafka 클러스터가 OpenShift Streams에 있는 경우 다음을 수행합니다.
-
user속성의 경우clientID를 지정합니다(예:srvc-acct-eb575691-b94a-41f1-ab97-50ade0cd1094). -
속성의 경우 암호(예:passwordfacf3df1-3c8d-4253-aa87-8c95ca5e1225)를 지정합니다. securityProtocol속성을 설정할 필요가 없습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또 다른 예로 Kafka 클러스터가 AMQ Streams에 있는 경우
securityProtocol속성을"PLAINTEXT"로 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
-
YAML 파일(예:
coffees-to-kafka.yaml)을 저장합니다. - OpenShift 프로젝트에 로그인합니다.
Kamelet Binding을 OpenShift 네임스페이스에 리소스로 추가합니다.
oc apply -f <kamelet binding filename>예를 들면 다음과 같습니다.
oc apply -f coffees-to-kafka.yamlCamel K Operator는
KameletBinding리소스를 사용하여 Camel K 통합을 생성하고 실행합니다. 빌드하는 데 몇 분 정도 걸릴 수 있습니다.KameletBinding리소스의 상태를 보려면 다음을 수행합니다.oc get kameletbindings통합 상태를 보려면 다음을 수행합니다.
oc get integrations통합 로그를 보려면 다음을 수행합니다.
Kamel logs <integration> -n <project>예를 들면 다음과 같습니다.
Kamel 로그 coffees-to-kafka -n my-camel-kafka
예를 들면 다음과 같습니다.