일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- Kubernetes
- gorm
- docker
- ElasticSearch
- Golang
- gortsplib
- Kafka
- create topic
- topic
- minikube
- broker
- gin
- Kafka Connect
- go
- k8s
- tls disable
- Message
- kibana
- Produce
- eck
- loadbalance
- kafka broker
- consumer group
- Helm
- 쿠버네티스
- http
- kafka-connect
- Elk
- go test
- Consumer
- Today
- Total
개발자의 개발괴발
[kafka] kubernetes 위에 apache kafka 설치 본문
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을 이용해 간단히 설치를 완료했다.
'개발 > kafka' 카테고리의 다른 글
[kafka] topic 만들기(with go) (0) | 2025.03.03 |
---|---|
[T.S] local에서 k8s의 broker에 접속이 안될때 (0) | 2025.03.03 |
[T.S] kafka shell 명령어 안됨(Timed out waiting for a node assignment) (0) | 2025.03.01 |
[kafka] kafka consumer group 명령어 (0) | 2025.03.01 |
[kafka] topic 관련 명령어 모음 (0) | 2025.03.01 |