์ด์ Apache Kafka ์ค์น ํ ํ ํฝ ์์ฑ, ๋ชฉ๋ก ํ์ธ์ ์ค๋ฅ๊ฐ ์์ด kafka ๊ตฌ์ฑ์ด ์ด๋ ค์ ์ต๋๋ค. ์ด์ UI ํ๊ฒฝ์ ๊ตฌ์ฑํ์ฌ kafka ํ ํฝ์ ์ฝ๊ฒ ์์ฑํ ์ ์๋๋ก Console ํ๊ฒฝ์ ๊ตฌ์ถํฉ๋๋ค.
๐ก ์ด ๊ธ์์ ๋ค๋ฃฐ ๋ด์ฉ:
- Redpanda Console์ด๋?
- Helm์ ์ฌ์ฉํด Redpanda Console ๋ฐฐํฌ
- Kafka์ ์ฐ๊ฒฐ ๋ฐ UI์์ ํ ํฝ ์์ฑ
- ๋ฉ์์ง Produce ํ ์คํธ
1. Redpanda Console์ด๋?
Redpanda Console์ Kafka ํด๋ฌ์คํฐ๋ฅผ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์๋ ์น UI์
๋๋ค.
Kafka์ ๊ธฐ๋ณธ CLI๋ณด๋ค ํธ๋ฆฌํ๊ฒ ํ ํฝ ์์ฑ, ๋ฉ์์ง ์กฐํ, ์๋น์ ๊ทธ๋ฃน ๋ชจ๋ํฐ๋ง ๋ฑ์ ์ํํ ์ ์์ต๋๋ค.
โ Redpanda Console์ Kafka์ ์์ ํ ํธํ๋๋ฏ๋ก Kafka ํด๋ฌ์คํฐ์ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.
2. Redpanda Console์ Kubernetes์ ๋ฐฐํฌ
๐น 1) Helm ์ ์ฅ์ ์ถ๊ฐ ๋ฐ ์ ๋ฐ์ดํธ
helm repo add redpanda-data https://charts.redpanda.com
helm repo update
๐น 2) Redpanda Console ๋ฐฐํฌ ํ์ผ ์์ฑ (value.yaml)
console 0.3.3 · redpanda/redpanda-data
Helm chart to deploy Redpanda Console.
artifacthub.io
ํด๋น ๋งํฌ์์ values.yaml ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ์ต๋๋ค. ๊ธฐ์กด ํ๋ก์ ํธ ํด๋์์ redpanda/ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ํ์์ values.yaml ํ์ผ์ ์ถ๊ฐํฉ๋๋ค. values.yaml์์ ์๋ ์ฌํญ๋ค์ ์์ ํฉ๋๋ค.
# line9 - repository
repository: redpandadata/console
# line:63 - resources:
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi
# line: 88 - console: broker ์ ๋ณด์ ์ ์ ์ ๋ณด๋ฅผ ์
๋ ฅํฉ๋๋ค. kafka ๋ค์์คํ์ด์ค์ ๋ฐฐํฌํ๊ธฐ์ kafka.kafka๋ฅผ ์ฌ์ฉํฉ๋๋ค.
config:
kafka:
brokers:
- "kafka.kafka.svc.cluster.local:9092"
clientId: redpanda-console
sasl:
enabled: true
mechanism: SCRAM-SHA-512
username: user1
password: <์ฌ์ฉ์ password ์
๋ ฅ>
# ๊ธฐํ ๋ณ๊ฒฝ์ฌํญ
- extraVolumeMounts: []
- extraEnvFrom: []
- extraVolumes: []
- extraEnv: []
- extraContainers: []
๐น 3) Redpanda Console ๋ฐฐํฌ
์๋ ๋ช ๋ น์ด๋ฅผ ํตํด k8s์ redpanda console์ ๋ฐฐํฌํฉ๋๋ค.
helm install console redpanda/console -f ./redpanda/values.yaml -n kafka
๐น 4) ๋ฐฐํฌ๋ ์๋น์ค ํ์ธ
kubectl get svc -n kafka
์ถ๋ ฅ ์์:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
console ClusterIP 10.100.12.81 <none> 8080/TCP
kafka ClusterIP 10.108.250.227 <none> 9092/TCP
kafka-broker-headless ClusterIP None <none> 9094/TCP,9092/TCP
kafka-controller-headless ClusterIP None <none> 9094/TCP,9092/TCP,9093/TCP
๐น 5) Redpanda Console UI ์ ์
kubectl port-forward svc/console 8080:8080
๋ธ๋ผ์ฐ์ ์์ http://localhost:8080 ์ผ๋ก ์ ์ํ๋ฉด Kafka ํ ํฝ์ ๊ด๋ฆฌํ ์ ์๋ UI๊ฐ ํ์๋ฉ๋๋ค.
3. Redpanda Console์์ Kafka ํ ํฝ ์์ฑ ๋ฐ ๋ฉ์์ง ํ ์คํธ
๐น 1) Redpanda Console์์ ํ ํฝ ์์ฑ
- Redpanda Console (http://localhost:8080) ์ ์
- "Topics" ๋ฉ๋ด ํด๋ฆญ
- "Create topic" ๋ฒํผ ํด๋ฆญ
- ํ ํฝ ์ด๋ฆ ์ ๋ ฅ (์: test-topic)
- Partition ๊ฐ์ ๋ฐ ์ค์ ์ ํ ํ "Create" ํด๋ฆญ
๐ Kafka ํด๋ฌ์คํฐ์ ์๋ก์ด ํ ํฝ์ด ์์ฑ๋ฉ๋๋ค.
๐น 2) ๋ฉ์์ง ์ ์ก (Producer ์คํ)
Redpanda Console์์ test-topic์ ํด๋ฆญํ ํ,
- "Produce message" ๋ฒํผ ํด๋ฆญ
- Key & Value๋ฅผ ์ ๋ ฅ ํ "Send" ํด๋ฆญ
โ Kafka CLI ์์ด๋ UI์์ ๋ฉ์์ง๋ฅผ ์ง์ ํ์ธํ ์ ์์ต๋๋ค! ๐