1. EventHub Namespace와 EventHub를 생성합니다.
2. Kafka가 Event Hub와 통신할 수 있도록 Shared Access Key를 생성합니다. 이 때 Connection Endpoint를 복사해 둡니다.
Kafka 접속 테스트(Producer)
1. Producer용 Client Pod를 하나 생성합니다.
kubectl run kafka-hub-producer --restart='Never' --image docker.io/bitnami/kafka:3.6.0-debian-11-r0 --namespace kafka --command -- sleep infinity
2. 인증된 Client만 접속 가능하도록 Client Properties를 작성합니다.
# Client Properties 생성
sudo mkdir -p /path/to && sudo vi /path/to/client-hub.properties
# /path/to/client-hub.properties
bootstrap.servers=<EventHubNamespace>.servicebus.windows.net:9093
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
username="$ConnectionString" \
password="<SharedAccessKeyEndpoint>";
# Pod로 파일 복사
kubectl cp --namespace kafka /path/to/client-hub.properties kafka-hub-producer:/tmp/client.properties
3. Client Pod로 접속합니다.
kubectl exec --tty -i kafka-hub-producer --namespace kafka -- bash
4. Producer를 실행하여 Broker(Kafka)에 메시지를 전송합니다.
kafka-console-producer.sh \
--producer.config /tmp/client.properties \
--broker-list <EventHubNamespace>.servicebus.windows.net:9093 \
--topic <EventHub> # 만약 Azure에 생성된 EventHub가 없는 경우 Topic 이름으로 자동 생성
Kafka 접속 테스트(Consumer)
1. Consumer용 Client Pod를 하나 생성합니다.
kubectl run kafka-hub-consumer --restart='Never' --image docker.io/bitnami/kafka:3.6.0-debian-11-r0 --namespace kafka --command -- sleep infinity
2. 인증된 Client만 접속 가능하도록 Client Properties를 작성합니다.
# Pod로 파일 복사
kubectl cp --namespace kafka /path/to/client-hub.properties kafka-hub-consumer:/tmp/client.properties
3. Client Pod로 접속 합니다.
kubectl exec --tty -i kafka-hub-consumer --namespace kafka -- bash
4. Consumer를 실행하여 Broker(Kafka)에서 메시지를 받아옵니다.
kafka-console-consumer.sh \
--consumer.config /tmp/client.properties \
--bootstrap-server <EventHubNamespace>.servicebus.windows.net:9093 \
--topic <Eventhub> \
--from-beginning
참고 링크
빠른 시작: Azure Event에서 Hubs Apache Kafka 사용 - Azure Event Hubs
이 빠른 시작에서는 Apache Kafka 프로토콜을 사용하여 Azure Event Hubs에서 데이터를 스트리밍하는 방법을 보여줍니다.
learn.microsoft.com
'클라우드 > Azure' 카테고리의 다른 글
[EventHub] Azure EventHub와 함께 Spring Kafka 사용 (1) | 2025.01.30 |
---|---|
[Kubernetes] AKS Premium Storage Persistent Volume 기능 검증 (0) | 2025.01.30 |
[Kubernetes] Kubernetes Forward Proxy를 통한 Outbound 통제 (0) | 2025.01.30 |
[DNS] Azure Private DNS Resolver 구성 (0) | 2025.01.30 |
[AppService] AppService with Application Gateway (0) | 2025.01.29 |