You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
3 weeks ago | |
|---|---|---|
| .. | ||
| templates | 3 weeks ago | |
| CUSTOM-README.md | 3 weeks ago | |
| Chart.yaml | 3 weeks ago | |
| README.md | 3 weeks ago | |
| custom-values.yaml | 3 weeks ago | |
| dip-resources-quotas.yaml | 3 weeks ago | |
| dip-values.yaml | 3 weeks ago | |
| dip-volumes-quotas.yaml | 3 weeks ago | |
| kafka-cluster.yaml | 3 weeks ago | |
| values.yaml | 3 weeks ago | |
README.md
Kafka Cluster Helm Chart
Strimzi 오퍼레이터를 사용하는 Kafka 클러스터 배포를 위한 Helm 차트입니다.
사전 요구사항
- Kubernetes 1.19+
- Helm 3.0+
- Strimzi Kafka Operator가 클러스터에 설치되어 있어야 합니다
설치 방법
1. Strimzi Operator 설치 (아직 설치하지 않은 경우)
kubectl create namespace kafka
kubectl create -f 'https://strimzi.io/install/latest?namespace=kafka' -n kafka
2. Helm 차트 설치
# values.yaml 파일을 수정하여 환경에 맞게 설정
helm install kafka-cluster . -n kafka \
--set oauth.keycloakUrl="https://your-keycloak-url" \
--set oauth.keycloakRealm="your-realm" \
--set oauth.keycloakClientId="your-client-id"
또는 values 파일을 사용:
helm install kafka-cluster . -n kafka -f custom-values.yaml
설정
주요 설정 값들:
Kafka 클러스터 설정
kafka:
name: kafka-cluster
version: "4.0.0"
metadataVersion: "4.0"
timezone: "Asia/Seoul"
Node Pool 설정
controller:
replicas: 3
storage:
size: 50Gi
class: longhorn
broker:
replicas: 3
storage:
size: 50Gi
class: longhorn
OAuth/Keycloak 설정
oauth:
enabled: true
keycloakUrl: "" # 필수: Keycloak URL
keycloakRealm: "" # 필수: Keycloak Realm
keycloakClientId: "" # 필수: Client ID
Kafka Connect 설정
kafkaConnect:
enabled: true
image: paasup/kafka-connect:0.2
replicas: 1
업그레이드
helm upgrade kafka-cluster . -n kafka -f custom-values.yaml
삭제
helm uninstall kafka-cluster -n kafka
필수 Secret 생성
배포 전에 다음 Secret들을 생성해야 합니다:
1. Kafka OAuth Secret
kubectl create secret generic kafka-cluster-oauth-secret \
--from-literal=client-secret=YOUR_CLIENT_SECRET \
-n kafka
2. Kafka Connect OAuth Secret
kubectl create secret generic kafka-connect-oauth-secret \
--from-literal=client-secret=YOUR_CONNECT_CLIENT_SECRET \
-n kafka
3. Keycloak TLS Certificate
kubectl create secret generic keycloak-tls \
--from-file=ca.crt=path/to/ca.crt \
-n kafka
4. Truststore Secret
kubectl create secret generic truststore \
--from-file=truststore.jks=path/to/truststore.jks \
-n kafka
확인
배포 상태 확인:
# Kafka 클러스터 상태 확인
kubectl get kafka -n kafka
# Pod 상태 확인
kubectl get pods -n kafka
# Kafka Connect 상태 확인
kubectl get kafkaconnect -n kafka
문제 해결
로그 확인:
# Kafka broker 로그
kubectl logs -n kafka kafka-cluster-broker-0
# Kafka Connect 로그
kubectl logs -n kafka -l strimzi.io/cluster=kafka-cluster,strimzi.io/kind=KafkaConnect
라이선스
이 차트는 Apache License 2.0 하에 배포됩니다.