Kubernetes 기반 kafka 클러스터 구성 (3/4) – kafka connector – IBM Developer

IBM Developer 한국어 사이트가 2021년 6월 1일자로 종료됩니다. developer.ibm.com 영문 사이트는 계속 사용하실 수 있습니다.

Kubernetes 기반 kafka 클러스터 구성 (3/4) – kafka connector

이번 글은 kafka 플랫폼의 component 중 하나인 kafka connector에 간략히 알아보고 k8s에 배포하여 kafka connector cluster 환경을 구성해 보겠습니다. kafka connector는 kafka 와 연동하는 legacy 플롯폼의 변경 데이터를 real-time으로 target 플롯폼에 전송하기 위한 kafka 플렛폼의 CDC 기능을 갖고 있는 하나의 component입니다. kafka connect 는 source connector와 target 플랫폼에 변경 데이터를 전송하기 위한 link connector로 분류합니다.

kafka-connector

그러면 kafka-connector를 k8s에 배포하기 위해 사전에 kafka schema-registry를 필요로 합니다. kafka-schema-registry 와 kafka-connector는 kafka를 발전시키고 있는 confluent에서 제공하는 helm chart를 시용합니다. kafka connector를 설치하기 위해 confluent 사에서 제공하는 helm chart site를 방문합니다.

cp-helm-chart-site

1. kafka schema-registry 를 k8s에 배포

schema-registry를 배포하기 위해 github의 cp-help-charts에서 자신의 pc에 git clone 합니다.

git-clone

git clone https://github.com/confluentinc/cp-helm-charts.git

cp-schema-registry directory로 이동합니다.

cd  cp-helm-charts/charts/cp-schema-registry

values.yaml을 schema-registry-values.yaml 이름으로 상위 폴더로 복사합니다.

cp values.yaml ../schema-registry-values.yaml

schema-registry-values.yaml 파일을 열어서 bootstrapServers: “” 부분에 kafka-headless:9092로 추가합니다.

[변경 전]
set-schema-registry

[변경 후]
add-kafka-headless

schema-registry를 k8s에 배포합니다.

helm install my-schema -f schema-registry-values.yaml cp-schema-registry


[수행 결과]
installed-schema-registry

pod의 목록을 확인합니다.

kubectl get pods


[수행 결과]
pod-list

2. kafka connector 를 k8s에 배포

kafka connector directory로 변경합니다.

cd  cp-helm-charts/charts/cp-kafka-connect

values.yaml을 my-connect-values.yaml 이름으로 상위 폴더로 복사합니다.

cp values.yaml ../my-connect-values.yaml

my-connect-values.yaml 파일을 열어서 bootstrapServers: “” 부분에 kafka-headless:9092로 추가하고, url 부분에 schema-registry url 정보를 추가합니다.

[수행 결과]
add-kafka-connector

schema-registry 정보 확인방법

kubectl get svc


[수행 결과]
schema-registry-url

kafka connector를 k8s에 배포합니다.

helm install my-connect -f my-connect-values.yaml cp-kafka-connect


[수행 결과]
installed-kafka-connect

pod 목록을 확인합니다.

kubectl get pods


[수행 결과]
installed-kafka-connect