개발자의 개발괴발

[kafka] kubernetes 위에 apache kafka 설치 본문

개발/kafka

[kafka] kubernetes 위에 apache kafka 설치

휘발성 기억력 2025. 2. 27. 21:43
반응형

M2 Macbook Air에 minikube를 설치해서 k8s 환경을 간단히 구성해 놨다.

kafka를 공부하기로 마음먹었으니 kafka를 설치해 보자.

helm을 이용하면 kafka 설치는 간단하다.

먼저 helm을 설치해 보자


helm 설치하기

brew install helm

 

설치 후 helm을 쳐서 아래와 같이 나온다면 제대로 설치된 것이다.

kubernetes package manager라고 소개도 해준다.

$ helm
The Kubernetes package manager

Common actions for Helm:

- helm search:    search for charts
- helm pull:      download a chart to your local directory to view
- helm install:   upload the chart to Kubernetes
- helm list:      list releases of charts

kafka 설치하기

helm을 이용해 kafka를 설치해 보자.

$ kubectl get po
No resources found in default namespace.

현재는 아무것도 설치가 되어있지 않기 때문에 pod이 하나도 없는 상태이다.

 

bitnami에서 제공하는 kafka를 설치해 보자.

아래 링크를 방문하면 설치 방법이 나와있다.

https://bitnami.com/stack/kafka/helm

 

Helm Charts to deploy Apache Kafka in Kubernetes

Bitnami package for Apache Kafka Helm Charts Trademarks: This software listing is packaged by Bitnami. The respective trademarks mentioned in the offering are owned by the respective companies, and use of them does not imply any affiliation or endorsement.

bitnami.com

아래 명령어로 설치를 했다.

설치를 하면 추가적인 정보가 나오는데 생략했다.

궁금하면 읽어보시기 바란다.(읽어보는 것이 도움이 된다.)

// my-release 대신에 원하는 이름을 쓰면 된다.
// 나는 bitnami-kafka라고 변경했다.
$ helm install bitnami-kafka oci://registry-1.docker.io/bitnamicharts/kafka

Pulled: registry-1.docker.io/bitnamicharts/kafka:31.4.0
Digest: sha256:930d0d855f8aac4acfac677515fe52c00411c250540df73bb71016518760cf2a
NAME: bitnami-kafka
LAST DEPLOYED: Thu Feb 27 21:29:29 2025
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: kafka
CHART VERSION: 31.4.0
APP VERSION: 3.9.0

 

설치 후에 pod을 조회해 보면 아래와 같이 세 개의 pod이 뜬것을 볼 수 있다.

$ kubectl get po

NAME                         READY   STATUS    RESTARTS   AGE
bitnami-kafka-controller-0   2/2     Running   0          6m2s
bitnami-kafka-controller-1   2/2     Running   0          6m2s
bitnami-kafka-controller-2   2/2     Running   0          6m2s

kafka는 기본적으로 3개(혹은 그 이상)의 broker를 요청하기에 3개의 pod이 떠 있는 것을 확인할 수 있다.

잘 아는 사람은 kafka는 zookeeper와 같이 동작을 해야 하는데 왜 zookeeper는 없느냐라고 물으면

  • kafka는 2.8 버전부터 zookeeper 없이 동작할 수 있는 KRaft 모드를 지원하기 시작했으며
  • 3.3.0 버전부터 정식 릴리즈 되었다.

우리가 설치한 버전은 App Version이 3.9.0으로 나온 것으로 보아 KRaft mode가 default로 동작하도록 되어있는 것 같다.

 

이렇게 helm을 이용해 간단히 설치를 완료했다.

 

반응형