6.6. Kafka 브리지 배포
Kafka 브리지는 HTTP 기반 클라이언트를 Kafka 클러스터와 통합하는 API를 제공합니다.
6.6.1. OpenShift 클러스터에 Kafka 브리지 배포 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 Cluster Operator를 사용하여 Kafka Bridge 클러스터를 OpenShift 클러스터에 배포하는 방법을 설명합니다.
배포에서는 YAML 파일을 사용하여 사양을 제공하여 KafkaBridge 리소스를 생성합니다.
AMQ Streams는 구성 파일 예제 를 제공합니다. 이 절차에서는 다음 예제 파일을 사용합니다.
-
examples/bridge/kafka-bridge.yaml
사전 요구 사항
절차
OpenShift 클러스터에 Kafka 브리지를 배포합니다.
oc apply -f examples/bridge/kafka-bridge.yaml배포 상태를 확인합니다.
oc get pods -n <my_cluster_operator_namespace>출력에 배포 이름과 준비 상태가 표시됩니다.
NAME READY STATUS RESTARTS my-bridge-bridge-<pod_id> 1/1 Running 0my-bridge는 Kafka 브리지 클러스터의 이름입니다.Pod ID는 생성된 각 Pod를 식별합니다.
기본 배포를 사용하면 단일 Kafka 브리지 Pod를 설치합니다.
READY에는 준비되거나 예상된 복제본 수가 표시됩니다.STATUS가Running으로 표시되면 배포가 성공적으로 수행됩니다.
6.6.2. Kafka 브리지 서비스를 로컬 머신에 노출 링크 복사링크가 클립보드에 복사되었습니다!
포트 전달을 사용하여 http://localhost:8080 의 로컬 머신에 AMQ Streams Kafka Bridge 서비스를 노출합니다.
포트 전달은 개발 및 테스트 목적으로만 적합합니다.
절차
OpenShift 클러스터에 있는 포드 이름을 나열합니다.
oc get pods -o name pod/kafka-consumer # ... pod/my-bridge-bridge-<pod_id>포트
8080의 Kafka 브리지 Pod에 연결합니다.oc port-forward pod/my-bridge-bridge-<pod_id> 8080:8080 &참고로컬 시스템의 8080 포트가 이미 사용 중인 경우
8008과 같은 대체 HTTP 포트를 사용합니다.
이제 API 요청이 로컬 시스템의 포트 8080에서 Kafka 브리지 Pod의 포트 8080으로 전달됩니다.
6.6.3. OpenShift 외부에서 Kafka 브릿지 액세스 링크 복사링크가 클립보드에 복사되었습니다!
배포 후 AMQ Streams Kafka Bridge는 동일한 OpenShift 클러스터에서 실행되는 애플리케이션에서만 액세스할 수 있습니다. 이러한 애플리케이션은 < ;kafka_bridge_name> -bridge-service 서비스를 사용하여 API에 액세스합니다.
OpenShift 클러스터 외부에서 실행되는 애플리케이션에 Kafka Bridge에 액세스하도록 하려면 다음 기능 중 하나를 생성하여 수동으로 노출할 수 있습니다.
-
LoadBalancer또는NodePort유형 서비스 -
Ingress리소스(Kubernetes만 해당) - OpenShift 경로(OpenShift만 해당)
서비스를 생성하기로 결정하는 경우 < kafka_bridge_name> -bridge-service 서비스의 선택기 에서 레이블을 사용하여 서비스에서 트래픽을 라우팅할 Pod를 구성합니다.
# ...
selector:
strimzi.io/cluster: kafka-bridge-name
strimzi.io/kind: KafkaBridge
#...
- 1
- OpenShift 클러스터에서 Kafka 브리지 사용자 정의 리소스의 이름입니다.
6.6.4. Kafka Bridge 클러스터 리소스 목록 링크 복사링크가 클립보드에 복사되었습니다!
다음 리소스는 OpenShift 클러스터의 Cluster Operator에 의해 생성됩니다.
- bridge-cluster-name-bridge
- Kafka Bridge 작업자 노드 Pod를 생성합니다.
- bridge-cluster-name-bridge-service
- Kafka Bridge 클러스터의 REST 인터페이스를 노출하는 서비스입니다.
- bridge-cluster-name-bridge-config
- Kafka Bridge ancillary 구성이 포함되어 Kafka 브로커 Pod를 통해 볼륨으로 마운트되는 ConfigMap입니다.
- bridge-cluster-name-bridge
- Kafka Bridge 작업자 노드에 대해 구성된 Pod 중단 예산입니다.