3.4. Kamelet Binding의 데이터 싱크에 Knative 대상 연결


Knative 대상을 데이터 싱크에 연결하려면 figure 3.3에 설명된 대로 Kamelet Binding을 생성합니다.

Connecting a Knative destination to a data sink

그림 3.3 Knative 대상을 데이터 싱크에 연결

Knative 대상은 Knative 채널 또는 Knative 브로커일 수 있습니다.

채널에서 데이터를 보낼 때 채널에는 하나의 이벤트 유형만 있습니다. Kamelet Binding에서 채널에 대한 속성 값을 지정할 필요가 없습니다.

브로커가 둘 이상의 이벤트 유형을 처리할 수 있으므로 브로커에서 데이터를 보낼 때 Kamelet Binding에서 브로커를 참조할 때 type 속성에 대한 값을 지정해야 합니다.

사전 요구 사항

  • Knative 채널의 이름 및 유형 또는 이벤트를 수신하려는 브로커의 이름을 알고 있습니다. 브로커의 경우 수신하려는 이벤트 유형도 알고 있습니다.

    이 절차의 예제에서는 mychannel이라는 InMemoryChannel 채널 또는 mybroker라는 브로커를 사용합니다(유형 속성의 경우). 다음은 Kamelet Binding의 Knative 채널에 데이터 소스 연결 의 Coffee 소스에서 이벤트를 수신하는 데 사용되는 것과 동일한 예제 대상입니다.

  • Camel 통합과 필수 인스턴스 매개 변수에 추가할 Kamelet을 알고 있습니다.

    이 절차의 예제 Kamelet은 Kamelet Catalog에 제공되며 테스트 및 디버깅에 유용한 log-sink Kamelet입니다. showStreams 매개 변수를 지정하여 데이터의 메시지 본문을 표시합니다.

절차

Knative 채널을 데이터 싱크에 연결하려면 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의 이름을 추가합니다. 이 예에서 바인딩이 Knative 대상을 log-sink Kamelet에 연결하므로 name은 knative-to-log 입니다.

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: knative-to-log
    spec:
      source:
      sink:
    Copy to Clipboard Toggle word wrap
  3. Kamelet Binding의 소스의 경우 Knative 채널 또는 브로커와 필수 매개변수를 지정합니다.

    이 예제에서는 Knative 채널을 소스로 지정합니다.

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: knative-to-log
    spec:
      source:
        ref:
          apiVersion: messaging.knative.dev/v1
          kind: InMemoryChannel
          name: mychannel
      sink:
    Copy to Clipboard Toggle word wrap

    이 예제에서는 Knative 브로커를 소스로 지정합니다.

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: knative-to-log
    spec:
      source:
        ref:
          kind: Broker
          apiVersion: eventing.knative.dev/v1
          name: default
        properties:
          type: coffee
    sink:
    Copy to Clipboard Toggle word wrap
  4. Kamelet Binding의 싱크의 경우 데이터 소비자 Kamelet(예: log-sink Kamelet)을 지정하고 Kamelet에 대한 매개변수를 구성합니다. 예를 들면 다음과 같습니다.

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: knative-to-log
    spec:
      source:
        ref:
          apiVersion: messaging.knative.dev/v1
          kind: InMemoryChannel
          name: mychannel
      sink:
        ref:
          apiVersion: camel.apache.org/v1alpha1
          kind: Kamelet
          name: log-sink
        properties:
          showStreams: true
    Copy to Clipboard Toggle word wrap
  5. YAML 파일 (예: knative-to-log.yaml)을 저장합니다.
  6. OpenShift 프로젝트에 로그인합니다.
  7. OpenShift 네임스페이스에 Kamelet Binding을 리소스로 추가합니다. oc apply -f <kamelet binding filename>

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

    oc apply -f knative-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 로그 knative-to-log -n my-camel-knative

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

    [1] INFO [sink] (vert.x-worker-thread-1) {"id":254,"uid":"8e180ef7-8924-4fc7-ab81-d6058618cc42","blend_name":"Good-morning Star","origin":"Santander, Colombia","variety":"Kaffa","notes":"delicate, creamy, lemongrass, granola, soil","intensifier":"sharp"}
    [1] INFO [sink] (vert.x-worker-thread-2) {"id":8169,"uid":"3733c3a5-4ad9-43a3-9acc-d4cd43de6f3d","blend_name":"Caf? Java","origin":"Nayarit, Mexico","variety":"Red Bourbon","notes":"unbalanced, full, granola, bittersweet chocolate, nougat","intensifier":"delicate"}
    Copy to Clipboard Toggle word wrap
  11. 실행 중인 통합을 중지하려면 연결된 Kamelet Binding 리소스를 삭제합니다.

    oc delete kameletbindings/<kameletbinding-name>

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

    oc delete kameletbindings/knative-to-log

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat