strimzi version에 이어 이번에는 confluent version으로 kafka를 설치해보는 글이다.
1. namespace 생성
confluent라는 namespace를 생성한다.
kubectl create namespace confluent
2. helm 저장소 추가
아래 명령어를 이용해 helm에 confluent 저장소를 추가한다.
helm repo add confluentinc https://packages.confluent.io/helm
Update 진행
helm repo update
설치
helm upgrade --install confluent-operator confluentinc/confluent-for-kubernetes
3. kafka 설치
아래 내용과 같은 kafka.yaml 파일을 생성한다.
---
apiVersion: platform.confluent.io/v1beta1
kind: Zookeeper
metadata:
name: zookeeper
namespace: confluent
spec:
replicas: 3
image:
application: confluentinc/cp-zookeeper:7.5.0
init: confluentinc/confluent-init-container:2.7.0
dataVolumeCapacity: 10Gi
logVolumeCapacity: 10Gi
---
apiVersion: platform.confluent.io/v1beta1
kind: Kafka
metadata:
name: kafka
namespace: confluent
spec:
replicas: 3
image:
application: confluentinc/cp-server:7.5.0
init: confluentinc/confluent-init-container:2.7.0
dataVolumeCapacity: 100Gi
metricReporter:
enabled: true
dependencies:
zookeeper:
endpoint: zookeeper.confluent.svc.cluster.local:2181
---
apiVersion: platform.confluent.io/v1beta1
kind: Connect
metadata:
name: connect
namespace: confluent
spec:
replicas: 1
image:
application: confluentinc/cp-server-connect:7.5.0
init: confluentinc/confluent-init-container:2.7.0
dependencies:
kafka:
bootstrapEndpoint: kafka:9071
---
apiVersion: platform.confluent.io/v1beta1
kind: KsqlDB
metadata:
name: ksqldb
namespace: confluent
spec:
replicas: 1
image:
application: confluentinc/cp-ksqldb-server:7.5.0
init: confluentinc/confluent-init-container:2.7.0
dataVolumeCapacity: 10Gi
---
apiVersion: platform.confluent.io/v1beta1
kind: ControlCenter
metadata:
name: controlcenter
namespace: confluent
spec:
replicas: 1
image:
application: confluentinc/cp-enterprise-control-center:7.5.0
init: confluentinc/confluent-init-container:2.7.0
dataVolumeCapacity: 10Gi
dependencies:
schemaRegistry:
url: http://schemaregistry.confluent.svc.cluster.local:8081
ksqldb:
- name: ksqldb
url: http://ksqldb.confluent.svc.cluster.local:8088
connect:
- name: connect
url: http://connect.confluent.svc.cluster.local:8083
---
apiVersion: platform.confluent.io/v1beta1
kind: SchemaRegistry
metadata:
name: schemaregistry
namespace: confluent
spec:
replicas: 3
image:
application: confluentinc/cp-schema-registry:7.5.0
init: confluentinc/confluent-init-container:2.7.0
---
apiVersion: platform.confluent.io/v1beta1
kind: KafkaRestProxy
metadata:
name: kafkarestproxy
namespace: confluent
spec:
replicas: 1
image:
application: confluentinc/cp-kafka-rest:7.5.0
init: confluentinc/confluent-init-container:2.7.0
dependencies:
schemaRegistry:
url: http://schemaregistry.confluent.svc.cluster.local:8081
다음 명령어를 이용해 k8s에 kafka를 등록한다.
kubectl apply -f ./kafka.yaml -n confluent