Kubernetes(K8S) Kafka Rest API – Strimzi ver

K8S에서 Kafka를 이용할 때 API로 접근해야할 경우가 생길 수 있다.
본 글에서는 Kafka Rest API를 strimzi에서 제공하는 KafkaBridge를 이용해 RestAPI를 구현하고자 한다.
이전 글에 이어 작성한다.

KafkaBridge 생성

아래와 같이 kafka-proxy.yaml 파일을 생성한다.
이미 생성해 놓은 kafka broker bootstrap server 주소를 설정에서 수정한다.(bootstrapServers)

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaBridge
metadata:
  name: my-bridge
spec:
  replicas: 1
  bootstrapServers: my-cluster-kafka-bootstrap:9092
  http:
    port: 8080

아래 명령어를 사용해 Bridge를 생성한다.

kubectl apply -f kafka-proxy.yaml -n kafka

2. Service 등록

외부에서 API에 접근하기 위해 Service를 등록해야한다.
다음과 같이 kafka-proxy-service.yaml 을 생성한다.

apiVersion: v1
kind: Service
metadata:
  name: my-bridge-nodeport
spec:
  type: NodePort
  ports:
  - port: 8080
    nodePort: 31000
  selector:
    strimzi.io/cluster: my-bridge
    strimzi.io/kind: KafkaBridge
    strimzi.io/name: my-bridge-bridge

아래 명령어를 사용해 Bridge Service를 생성한다.

kubectl apply -f kafka-proxy-service.yaml -n kafka

nodePort는 31000으로 임으로 설정하였다. 원하는 포트로 변경 가능하다.
http://마스터주소:31015/

Leave a Comment