6.2.3. Kafka 브로커 설정 구성
Kafka Broker
오브젝트에서 구성 맵을 생성하고 이 구성 맵을 참조하여 Kafka 브로커의 복제 요소, 부트스트랩 서버 및 Kafka 브로커의 주제 파티션 수를 구성할 수 있습니다.
사전 요구 사항
- OpenShift Container Platform에 대한 클러스터 또는 전용 관리자 권한이 있어야 합니다.
-
OpenShift Serverless Operator, Knative Eventing,
KnativeKafka
사용자 정의 리소스(CR)가 OpenShift Container Platform 클러스터에 설치되어 있습니다. - 프로젝트를 생성하거나 OpenShift Container Platform에서 애플리케이션 및 기타 워크로드를 생성하는 데 적절한 역할 및 권한이 있는 프로젝트에 액세스할 수 있습니다.
-
OpenShift CLI(
oc
)가 설치되어 있습니다.
절차
kafka-broker-config
구성 맵을 수정하거나 다음 구성이 포함된 자체 구성 맵을 생성합니다.apiVersion: v1 kind: ConfigMap metadata: name: <config_map_name> 1 namespace: <namespace> 2 data: default.topic.partitions: <integer> 3 default.topic.replication.factor: <integer> 4 bootstrap.servers: <list_of_servers> 5
- 1
- 구성 맵 이름입니다.
- 2
- 구성 맵이 존재하는 네임스페이스입니다.
- 3
- Kafka 브로커의 주제 파티션 수입니다. 이렇게 하면 이벤트를 브로커로 얼마나 빨리 보낼 수 있는지가 제어됩니다. 파티션 수가 많을 경우 더 많은 컴퓨팅 리소스가 필요합니다.
- 4
- 주제 메시지의 복제 요소. 이는 데이터 손실을 방지합니다. 복제 요인이 증가하려면 더 많은 컴퓨팅 리소스와 더 많은 스토리지가 필요합니다.
- 5
- 쉼표로 구분된 부트스트랩 서버 목록입니다. 이는 OpenShift Container Platform 클러스터 내부 또는 외부에 있을 수 있으며 브로커가 이벤트를 수신하고 이벤트를 보내는 Kafka 클러스터 목록입니다.
중요default.topic.replication.factor
값은 클러스터의 Kafka 브로커 인스턴스 수보다 작거나 같아야 합니다. 예를 들어 Kafka 브로커가 하나만 있는 경우default.topic.replication.factor
값은"1"
을 초과해서는 안 됩니다.Kafka 브로커 구성 맵의 예
apiVersion: v1 kind: ConfigMap metadata: name: kafka-broker-config namespace: knative-eventing data: default.topic.partitions: "10" default.topic.replication.factor: "3" bootstrap.servers: "my-cluster-kafka-bootstrap.kafka:9092"
구성 맵을 적용합니다.
$ oc apply -f <config_map_filename>
Kafka
Broker
오브젝트의 구성 맵을 지정합니다.Broker 오브젝트의 예
apiVersion: eventing.knative.dev/v1 kind: Broker metadata: name: <broker_name> 1 namespace: <namespace> 2 annotations: eventing.knative.dev/broker.class: Kafka 3 spec: config: apiVersion: v1 kind: ConfigMap name: <config_map_name> 4 namespace: <namespace> 5 ...
브로커를 적용합니다.
$ oc apply -f <broker_filename>
추가 리소스