6.5. 이벤트 시스템에 워크플로우 연결
OpenShift Serverless Logic Operator는 Knative Eventing, SinkBindings 및 트리거를 사용하여 이벤트 시스템과 워크플로우를 연결합니다. 이러한 오브젝트는 OpenShift Serverless Logic Operator에 의해 자동으로 생성되고 워크플로우 이벤트의 프로덕션 및 사용을 단순화합니다.
다음 예제에서는 플랫폼 범위 이벤트 시스템으로 구성된 example-workflow
워크플로우에 대해 생성된 Knative Eventing 오브젝트를 보여줍니다.
apiVersion: sonataflow.org/v1alpha08 kind: SonataFlowPlatform metadata: name: sonataflow-platform-example namespace: example-namespace spec: eventing: broker: ref: name: example-broker 1 apiVersion: eventing.knative.dev/v1 kind: Broker services: dataIndex: 2 enabled: true jobService: 3 enabled: true ...
example-broker
오브젝트는 Kafka 클래스 Broker이며 해당 구성은 kafka-broker-config
구성 맵에 정의되어 있습니다.
다음 예제는 SonataFlowPlatform과 함께 사용할 Kafka Knative 브로커를 구성하는 방법을 보여줍니다.
apiVersion: eventing.knative.dev/v1
kind: Broker
metadata:
annotations:
eventing.knative.dev/broker.class: Kafka 1
name: example-broker
namespace: example-namespace
spec:
config:
apiVersion: v1
kind: ConfigMap
name: kafka-broker-config
namespace: knative-eventing
- 1
- Kafka 클래스는
example-broker
오브젝트를 생성하는 데 사용됩니다.
다음 예제에서는 example-workflow
가 이벤트 프로덕션 및 소비를 위해 example-broker
의 example-
broker에 자동으로 연결되는 방법을 표시합니다.
apiVersion: sonataflow.org/v1alpha08 kind: SonataFlow metadata: name: example-workflow namespace: example-namespace annotations: sonataflow.org/description: Example Workflow sonataflow.org/version: 0.0.1 sonataflow.org/profile: preview spec: flow: start: ExampleStartState events: - name: outEvent1 source: '' kind: produced type: out-event-type1 1 - name: inEvent1 source: '' kind: consumed type: in-event-type1 2 - name: inEvent2 source: '' kind: consumed type: in-event-type2 3 states: - name: ExampleStartState ...
다음 명령을 사용하여 example-workflow-sb
라는 자동으로 생성된 SinkBinding
을 나열할 수 있습니다.
$ oc get sinkbindings -n example-namespace
출력 예
NAME TYPE RESOURCE SINK READY example-workflow-sb SinkBinding sinkbindings.sources.knative.dev broker:example-broker True
다음 명령을 사용하여 이벤트 사용을 위해 자동으로 생성된 트리거를 나열할 수 있습니다.
$ oc get triggers -n <example-namespace>
출력 예
NAME BROKER SINK AGE CONDITIONS READY REASON example-workflow-inevent1-b40c067c-595b-4913-81a4-c8efa980bc11 example-broker service:example-workflow 16m 7 OK / 7 True example-workflow-inevent2-b40c067c-595b-4913-81a4-c8efa980bc11 example-broker service:example-workflow 16m 7 OK / 7 True