NodePort 기반 Kafka 외부 접속 구성과 NGINX 연동 전략

Kafka를 Kubernetes 위에서 운영할 때 가장 자주 부딪히는 문제 중 하나는 외부에서 Kafka 브로커에 접근하는 방법입니다. Helm Chart로 클러스터를 구성하는 건 좋은 시작이지만, 클러스터 외부의 Producer나 Consumer가 Kafka와 통신하려면 몇 가지 추가 설정이 필요하죠. 이번 글에서는 Helm Chart 기반 Kafka 환경에서 NodePort를 활용해 외부 접속을 구성하고, NGINX를 통해 이를 안정적으로 라우팅하는 전략을 소개합니다. 1. 왜 … Read more

Helm으로 Kafka 클러스터 설치 자동화하기

이번 글에서는 Helm Chart를 활용하여 Kafka 클러스터를 자동으로 설치하고 구성하는 방법을 정리해보려 합니다. Kubernetes 환경에서 Kafka를 안정적으로 운영하기 위해 반복 가능한 설치 환경이 중요하다는 점, 다들 공감하시죠? 😎 1. Helm으로 Kafka 설치 준비 Kafka를 설치하기 위해 먼저 Helm Chart 저장소를 추가하고 최신 차트를 가져옵니다: bitnami/kafka 차트를 기반으로 Helm Chart 디렉토리가 생성되며, 여기에 필요한 커스터마이징을 적용해 … Read more

Kafka Rest API (Proxy?)

들어가기 앞서…… 본 글을 쓰기 전 Kafka Broker를 여러개 생성할 경우 listen해야할 ip:port가 임의로 발생하게 되는데 이를 매번 직접 port change 해줘야하는 번거로움이 발생했다. 따라서 Nginx 를 이용해 Load Balance, Proxy를 진행할 수 있지 않을까 하는 아이디어로 Google, Document Search를 통해 실험을 진행하였으니 연결에 실패했다. stackoverflow에 질문을 한 결과 Nginx의 통신과 Kafka의 통신 방법이 근본적으로 … Read more

Kafka Nodejs 설치와 간단 사용 [kafkajs]

Docker 환경설정 docker-compose.yml 파일 생성 후 아래 코드 입력하고 저장 docker-compose up Nodejs 관련 라이브러리 설치 express와 kafkajs를 설치한다. producer.js 생성 후 아래 코드 입력하고 저장 consumer.js 파일을 생성하고 아래 코드를 입력하고 저장한다. Postman 또는 powershell의 curl을 이용해 테스트를 진행한다. Client로부터 request를 받으면 사전에 생성한 producer를 통해 토픽과 함께 메세지를 보낸다. consumer는 producer로부터 보내오는 메세지를 … Read more