2.3. Kamelet Binding의 Kafka 항목에 데이터 소스 연결


데이터 소스를 Kafka 항목에 연결하려면 figure 2.2 에 설명된 대로 Kamelet Binding을 만듭니다.

Connecting a data source to a Kafka topic 그림 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 -source Kamelet - 각 이벤트를 보내는 빈도를 지정하는 선택적 매개변수인 period 가 있습니다. 예제 소스 Kamelet의 코드를 coffee-source.kamelet.yaml 파일이라는 파일에 복사한 다음 다음 명령을 실행하여 네임스페이스에 리소스로 추가할 수 있습니다.

      oc apply -f coffee-source.kamelet.yaml

    • kafka-sink Kamelet은 Kamelet Catalog에 제공됩니다. Kafka 주제에서 이 바인딩에서 데이터(데이터 소비자)를 수신하므로 kafka-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의 이름을 추가합니다. 이 예제의 경우 바인딩이 coffee-source Kamelet을 kafka-sink Kamelet에 연결하므로 이름은 coffees-to-kafka 입니다.

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: coffees-to-kafka
    spec:
      source:
      sink:
    Copy to Clipboard Toggle word wrap
  3. Kamelet Binding의 소스의 경우 데이터 소스 Kamelet(예: Coffee 소스 Kamelet에서 데이터 소스 Kamelet)을 지정하고 Kamelet에 대한 모든 매개변수를 구성합니다.

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: coffees-to-kafka
    spec:
      source:
        ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: coffee-source
        properties:
          period: 5000
      sink:
    Copy to Clipboard Toggle word wrap
  4. Kamelet Binding의 싱크의 경우 kafka-sink Kamelet과 필요한 속성을 지정합니다.

    예를 들어 Kafka 클러스터가 OpenShift Streams에 있는 경우 다음을 수행합니다.

    • user 속성의 경우 clientID 를 지정합니다(예: srvc-acct-eb575691-b94a-41f1-ab97-50ade0cd1094).
    • password 속성의 경우 암호(예: facf3df1-3c8d-4253-aa87-8c95ca5e1225)를 지정합니다.
    • securityProtocol 속성을 설정할 필요가 없습니다.

      apiVersion: camel.apache.org/v1alpha1
      kind: KameletBinding
      metadata:
        name: coffees-to-kafka
      spec:
        source:
          ref:
            kind: Kamelet
            apiVersion: camel.apache.org/v1alpha1
            name: coffee-source
          properties:
            period: 5000
        sink:
          ref:
            kind: Kamelet
            apiVersion: camel.apache.org/v1alpha1
            name: kafka-sink
          properties:
            bootstrapServers: "my-kafka--ptdfzrhmlkwqw-a-ykm-mawgdh.kafka.devshift.org:443"
            password: "facf3df1-3c8d-4253-aa87-8c95ca5e1225"
            topic: "test-topic"
            user: "srvc-acct-eb575691-b94a-41f1-ab97-50ade0cd1094"
      Copy to Clipboard Toggle word wrap

      또 다른 예로 Kafka 클러스터가 AMQ Streams에 있는 경우 securityProtocol 속성을 "PLAINTEXT" 로 설정합니다.

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

    oc apply -f <kamelet binding filename>

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

    oc apply -f coffees-to-kafka.yaml

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

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

    oc get kameletbindings

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

    oc get integrations

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

    Kamel logs <integration> -n <project>

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

    Kamel 로그 coffees-to-kafka -n my-camel-kafka

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동