Kafka

k8s에 kafka를 올리는게 좋을까?

Sencia 2021. 3. 22. 15:25
반응형

서버리스라는 트랜드와 더불어 k8s 위에서 운영하는 서비스들이 대세이다. 

하둡, kafka도 k8s 위에 올리는 것이 분명 가능하다. 

 

 

이 글은 confluent의 게시글을 보고 작성하게 되었다. 

무려 2018년에 발행된 글이다. 

www.confluent.io/blog/apache-kafka-kubernetes-could-you-should-you/

 


 

결론부터 간결히 하자면

 

1) k8s에 kafka를 올렸을때 장점을 볼 수 있는 환경이 한정적이고 

2) k8s, kafka의 세부 설정과 운영을 충분히 해본 숙련자가 필요하다는 것 

 


 

 

아래 블로그 게시물은 다른 블로거의 게시물인데 좋은 게시물인 것 같아서 첨부한다. 

=> blog.voidmainvoid.net/280

 

카프카를 쿠버네티스 위에 올리는게 좋은 선택일까?

아래 포스트는 confluent 블로그 글을 토대로 제 의견과 함께 정리한 글입니다. 위 블로그글은 Gwen Shapira(하둡 애플리케이션 아키텍처, 카프카핵심가이드 저자이자 confluent PM)이 작성한 글입니다.

blog.voidmainvoid.net

 

 

앞서 말한 2)번의 문제 해결을 위해 레드햇에서는 솔루션을 제공하고 있다. (물론 유료) 

Red Hat AMQ Streams라는 제품이고 kafka 설정에 미숙하더라도 쉽게 쿠버네티스 환경에서 kafka를 구축할 수 있게 해준다. 

이 제품은 오픈소스 프로젝트인 Strimzi(https://strimzi.io/) 를 레드햇 엔터프라이즈판으로 만들었다고 한다. 

 

Strimzi - Apache Kafka on Kubernetes

 

strimzi.io

 

www.redhat.com/ko/topics/integration/why-run-apache-kafka-on-kubernetes

 

쿠버네티스에서 Apache Kafka를 실행해야 하는 이유

개발자는 쿠버네티스에서 Apache Kafka를 사용하여 스케일할 수 있는 서버리스 알림, 프로세스 간 통신, 서버리스 기능에 대한 가시성을 제공할 수 있습니다.

www.redhat.com


 

각설하고 k8s에 kafka를 구축했을때의 이점을 정리해보자면 . . .

 

- kafka에 신규 broker 추가하기 간편(인프라팀과 협업도 필요없음) 

- 여러 개의 kafka cluster를 관리하기 용이 

- 신규 kafka cluster 추가하기 용이 


 

 

처음 구축시 설정만 잘 해놓는다면 kafka 클러스터를 여럿 관리하는 입장에서는 쌍수들고 환영할만 하다. 

여기에서 유의할 점은 "잘" 해놓는다면이다. 

 

kafka 클러스터가 몇 없고 브로커를 추가해야하는 많은 데이터량이 아니라면 배보다 배꼽이 더 큰 공사가 될 수 있다. 

k8s에 kafka 클러스터를 구축한다고 해서 속도나 성능 측면에 이점이 있는 것은 아니기 때문이다. 

오히려 kafka의 세세한 설정(shared storage와 latency)을 잘 설정하지 못하면 성능이 떨어질 수도 있다. 

 

 

반응형

'Kafka' 카테고리의 다른 글

Kafka 데이터 리밸런싱  (0) 2021.03.22