2.4. Kamelet 바인딩의 데이터 싱크에 Kafka 주제 연결


Kafka 주제를 데이터 싱크에 연결하려면 figure 2.3에 설명된 대로 Kamelet Binding을 생성합니다.

Connecting a Kafka topic to a data sink 그림 2.3 데이터 싱크에 Kafka 주제 연결

사전 요구 사항

  • 이벤트를 보낼 Kafka 주제의 이름을 알고 있습니다. 이 절차의 예제에서는 이벤트를 보내는 데 test-topic 을 사용합니다. 데이터 소스와 카메릿 바인딩의 Kafka 항목에 데이터 소스 연결의 이벤트를 수신하는 데 사용한 것과 동일한 주제입니다.
  • Kafka 인스턴스에 대한 다음 매개변수의 값을 알고 있습니다.

    • bootstrapServers - Kafka Broker URL의 쉼표로 구분된 목록입니다.
    • password - Kafka에 인증할 암호입니다.
    • user - Kafka에 인증할 사용자 이름입니다.

      OpenShift Streams를 사용할 때 이러한 값을 가져오는 방법에 대한 자세한 내용은 Kafka 인증 정보 가져오기를 참조하십시오.

  • Kafka 브로커와 통신하기 위한 보안 프로토콜을 알고 있습니다. OpenShift Streams의 Kafka 클러스터의 경우 SASL_SSL (기본값)입니다. AMQ 스트림의 Kafka 클러스터의 경우 PLAINTEXT 입니다.
  • Camel K 통합과 필수 인스턴스 매개 변수에 추가할 Kamelets를 알고 있습니다. 이 절차의 예제 Kamelets는 Kamelet Catalog에서 제공됩니다.

    • kafka-source Kamelet - Kafka 주제가 이 바인딩에서 데이터(데이터 프로듀서임)를 보내는 것이므로 kafka-source Kamelet을 사용합니다. 필수 매개변수의 예제 값은 다음과 같습니다.

      • bootstrapServers - "broker.url:9092"
      • password - "testpassword"
      • user - "testuser"
      • topic - "test-topic"
      • securityProtocol - OpenShift Streams의 Kafka 클러스터의 경우 SASL_SSL 이 기본값이기 때문에 이 매개변수를 설정할 필요가 없습니다. AMQ 스트림의 Kafka 클러스터의 경우 이 매개변수 값은 "PLAINTEXT" 입니다.
    • log-sink Kamelet - log-sink 를 사용하여 kafka-source Kamelet에서 수신하는 데이터를 기록합니다. 선택적으로 showStreams 매개변수를 지정하여 데이터의 메시지 본문을 표시합니다. log-sink Kamelet은 디버깅 목적에 유용합니다.

절차

Kafka 주제를 데이터 싱크에 연결하려면 Kamelet Binding을 생성합니다.

  1. 선택한 편집기에서 다음 기본 구조를 사용하여 YAML 파일을 생성합니다.

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name:
    spec:
      source:
      sink:
    Copy to Clipboard Toggle word wrap
  2. Kamelet Binding의 이름을 추가합니다. 이 예에서 바인딩이 kafka-source Kamelet을 log-sink Kamelet에 연결하므로 이름은 kafka-to-log 입니다.

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: kafka-to-log
    spec:
      source:
      sink:
    Copy to Clipboard Toggle word wrap
  3. Kamelet Binding의 소스의 경우 kafka-source Kamelet을 지정하고 해당 매개변수를 구성합니다.

    예를 들어 Kafka 클러스터가 OpenShift Streams에 있는 경우 securityProtocol 매개변수를 설정할 필요가 없습니다.

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: kafka-to-log
    spec:
      source:
        ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: kafka-source
        properties:
          bootstrapServers: "broker.url:9092"
          password: "testpassword"
          topic: "test-topic"
          user: "testuser"
      sink:
    Copy to Clipboard Toggle word wrap

    예를 들어 Kafka 클러스터가 AMQ Streams에 있는 경우 securityProtocol 매개변수를 "PLAINTEXT" 로 설정해야 합니다.

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: kafka-to-log
    spec:
      source:
        ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: kafka-source
        properties:
          bootstrapServers: "broker.url:9092"
          password: "testpassword"
          topic: "test-topic"
          user: "testuser"
          securityProtocol: "PLAINTEXT"
      sink:
    Copy to Clipboard Toggle word wrap
  4. Kamelet Binding의 싱크의 경우 데이터 소비자 Kamelet(예: log-sink Kamelet)을 지정하고 Kamelet에 대한 매개변수를 구성합니다. 예를 들면 다음과 같습니다.

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: kafka-to-log
    spec:
      source:
        ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: kafka-source
        properties:
          bootstrapServers: "broker.url:9092"
          password: "testpassword"
          topic: "test-topic"
          user: "testuser"
          securityProtocol: "PLAINTEXT" // only for AMQ streams
      sink:
        ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: log-sink
        properties:
          showStreams: true
    Copy to Clipboard Toggle word wrap
  5. YAML 파일 (예: kafka-to-log.yaml)을 저장합니다.
  6. OpenShift 프로젝트에 로그인합니다.
  7. Kamelet Binding을 OpenShift 네임스페이스에 리소스로 추가합니다.

    oc apply -f <kamelet binding filename>

    예를 들면 다음과 같습니다.

    oc apply -f kafka-to-log.yaml

    Camel K Operator는 KameletBinding 리소스를 사용하여 Camel K 통합을 생성하고 실행합니다. 빌드하는 데 몇 분 정도 걸릴 수 있습니다.

  8. KameletBinding 리소스의 상태를 보려면 다음을 수행합니다.

    oc get kameletbindings

  9. 통합 상태를 보려면 다음을 수행합니다.

    oc get integrations

  10. 통합 로그를 보려면 다음을 수행합니다.

    Kamel logs <integration> -n <project>

    예를 들면 다음과 같습니다.

    kamel logs kafka-to-log -n my-camel-k-kafka

    출력에는 coffee 이벤트가 표시되어야 합니다. 예를 들면 다음과 같습니다.

    INFO  [log-sink-E80C5C904418150-0000000000000001] (Camel (camel-1) thread #0 - timer://tick) {"id":7259,"uid":"a4ecb7c2-05b8-4a49-b0d2-d1e8db5bc5e2","blend_name":"Postmodern Symphony","origin":"Huila, Colombia","variety":"Kona","notes":"delicate, chewy, black currant, red apple, star fruit","intensifier":"balanced"}
    Copy to Clipboard Toggle word wrap
  11. 실행 중인 통합을 중지하려면 연결된 Kamelet Binding 리소스를 삭제합니다.

    oc delete kameletbindings/<kameletbinding-name>

    예를 들면 다음과 같습니다.

    oc delete kameletbindings/kafka-to-log

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동