6.8. Apache Kafka Operator용 Streams에 대한 대체 독립 실행형 배포 옵션
Topic Operator 및 User Operator의 독립 실행형 배포를 수행할 수 있습니다. Cluster Operator에서 관리하지 않는 Kafka 클러스터를 사용하는 경우 이러한 Operator의 독립 실행형 배포를 고려하십시오.
Operator를 OpenShift에 배포합니다. Kafka는 OpenShift 외부에서 실행할 수 있습니다. 예를 들어 Kafka를 관리 서비스로 사용할 수 있습니다. 독립 실행형 Operator의 배포 구성을 Kafka 클러스터의 주소와 일치하도록 조정합니다.
6.8.1. 독립 실행형 Topic Operator 배포 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 주제 관리를 위한 독립 실행형 구성 요소로 topic Operator를 unidirectional 모드로 배포하는 방법을 보여줍니다. Cluster Operator에서 관리하지 않는 Kafka 클러스터에서 독립 실행형 Topic Operator를 사용할 수 있습니다. Unidirectional 주제 관리에서는 KafkaTopic 리소스를 통해서만 주제를 유지 관리합니다. 리디렉션되지 않은 주제 관리에 대한 자세한 내용은 10.1절. “주제 관리 모드” 을 참조하십시오. 또한 Topic Operator를 양방향 모드로 배포하기 위한 대체 구성도 표시됩니다.
독립 실행형 배포 파일은 Apache Kafka용 Streams와 함께 제공됩니다. 05-Deployment-strimzi-topic-operator.yaml 배포 파일을 사용하여 Topic Operator를 배포합니다. Kafka 클러스터에 연결하는 데 필요한 환경 변수를 추가하거나 설정합니다.
Topic Operator는 단일 네임스페이스에서 KafkaTopic 리소스를 감시합니다. Topic Operator 구성에서 조사할 네임스페이스 및 Kafka 클러스터에 대한 연결을 지정합니다. 단일 Topic Operator는 단일 네임스페이스를 조사할 수 있습니다. Topic Operator는 하나의 네임스페이스만 조사해야 합니다. 둘 이상의 Topic Operator를 사용하려면 각각 다른 네임스페이스를 조사하도록 구성합니다. 이러한 방식으로 다양한 Kafka 클러스터와 함께 Topic Operator를 사용할 수 있습니다.
사전 요구 사항
Topic Operator가 연결할 Kafka 클러스터를 실행하고 있습니다.
독립 실행형 Topic Operator가 연결에 대해 올바르게 구성된 경우 Kafka 클러스터는 베어 메탈 환경, 가상 머신 또는 관리형 클라우드 애플리케이션 서비스에서 실행할 수 있습니다.
프로세스
install/topic-operator/05-Deployment-strimzi-operator.yaml독립 실행형 배포 파일에서env속성을 편집합니다.독립 실행형 Topic Operator 배포 구성 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Topic Operator에서
KafkaTopic리소스를 조사하는 OpenShift 네임스페이스입니다. Kafka 클러스터의 네임스페이스를 지정합니다. - 2
- Kafka 클러스터의 모든 브로커를 검색하고 연결할 부트스트랩 브로커 주소의 호스트 및 포트 쌍입니다. 서버가 다운된 경우 쉼표로 구분된 목록을 사용하여 두 개 또는 세 개의 브로커 주소를 지정합니다.
- 3
- Topic Operator에서 관리하는
KafkaTopic리소스를 식별하는 레이블입니다. 이는 Kafka 클러스터의 이름일 필요는 없습니다.KafkaTopic리소스에 할당된 레이블일 수 있습니다. Topic Operator를 두 개 이상 배포하는 경우 레이블은 각각 고유해야 합니다. 즉, 운영자는 동일한 리소스를 관리할 수 없습니다. - 4
- 주기적 조정 간격(밀리초)입니다. 기본값은
120000(2분)입니다. - 5
- 로깅 메시지를 출력하는 수준입니다. 수준을
ERROR,WARNING,INFO,DEBUG또는TRACE로 설정할 수 있습니다. - 6
- Kafka 브로커와 암호화된 통신에 대한 TLS 지원을 활성화합니다.
- 7
- (선택 사항) Topic Operator를 실행하는 JVM에서 사용하는 Java 옵션입니다.
- 8
- (선택 사항) Topic Operator에 설정된 디버깅(
-D) 옵션. - 9
- (선택 사항) TLS가
STRIMZI_TLS_ENABLED를 통해 활성화된 경우 신뢰 저장소 인증서 생성을 건너뜁니다. 이 환경 변수가 활성화된 경우 브로커는 TLS 인증서에 대해 신뢰할 수 있는 공개 인증 기관을 사용해야 합니다. 기본값은false입니다. - 10
- (선택 사항) mTLS 인증을 위한 키 저장소 인증서를 생성합니다. 이를
false로 설정하면 mTLS를 사용한 클라이언트 인증이 Kafka 브로커에 대해 비활성화됩니다. 기본값은true입니다. - 11
- (선택 사항) Kafka 브로커에 연결할 때 클라이언트 인증에 대해 SASL 지원을 활성화합니다. 기본값은
false입니다. - 12
- (선택 사항) 클라이언트 인증에 대한 SASL 사용자 이름입니다. SASL이
STRIMZI_SASL_ENABLED를 통해 활성화된 경우에만 필수입니다. - 13
- (선택 사항) 클라이언트 인증에 대한 SASL 암호입니다. SASL이
STRIMZI_SASL_ENABLED를 통해 활성화된 경우에만 필수입니다. - 14
- (선택 사항) 클라이언트 인증을 위한 SASL 메커니즘입니다. SASL이
STRIMZI_SASL_ENABLED를 통해 활성화된 경우에만 필수입니다. 값을일반,scram-sha-256또는scram-sha-512로 설정할 수 있습니다. - 15
- (선택 사항) Kafka 브로커와의 통신에 사용되는 보안 프로토콜입니다. 기본값은 "PLAINTEXT"입니다. 값을
PLAINTEXT,SSL,SASL_PLAINTEXT또는SASL_SSL로 설정할 수 있습니다. - 16
-
공용 인증 기관의 인증서를 사용하는 Kafka 브로커에 연결하려면
STRIMZI_PUBLIC_CA를true로 설정합니다. 예를 들어 Amazon AWS MSK 서비스를 사용하는 경우 이 속성을true로 설정합니다. STRIMZI_TLS_ENABLED환경 변수를 사용하여 mTLS를 활성화한 경우 Kafka 클러스터에 대한 연결을 인증하는 데 사용되는 키 저장소 및 신뢰 저장소를 지정합니다.mTLS 구성의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
배포구성에 변경 사항을 적용하여 Topic Operator를 배포합니다. 배포 상태를 확인합니다.
oc get deployments
oc get deploymentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력에 배포 이름 및 준비 상태 표시
NAME READY UP-TO-DATE AVAILABLE strimzi-topic-operator 1/1 1 1
NAME READY UP-TO-DATE AVAILABLE strimzi-topic-operator 1/1 1 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow READY는 ready/expected 복제본 수를 표시합니다.AVAILABLE출력에1이 표시되면 배포가 성공적으로 수행됩니다.
6.8.1.1. 양방향 주제 관리를 위한 독립 실행형 Topic Operator 배포 링크 복사링크가 클립보드에 복사되었습니다!
양방향 주제 관리에는 클러스터 관리를 위한 Zoo Cryostat가 필요하며 KafkaTopic 리소스와 Kafka 클러스터 내에서 주제를 유지 관리합니다. 이 모드에서 Topic Operator를 사용하여 전환하려면 다음 단계에 따라 독립 실행형 Topic Operator를 배포합니다.
Topic Operator가 단방향 모드로 실행되도록 하는 기능 게이트가 일반 가용성으로 진행되므로 양방향 모드가 단계적으로 표시됩니다. 이 전환은 특히 KRaft 모드에서 Kafka를 지원하는 데 사용되는 사용자 환경을 개선하기 위한 것입니다.
현재 독립 실행형 Topic Operator 배포를 취소합니다.
Topic Operator가 다시 배포할 때 선택한
KafkaTopic리소스를 유지합니다.독립 실행형 Topic Operator의
배포구성을 편집하여 Zoo Cryostat 관련 환경 변수를 포함합니다.-
STRIMZI_ZOOKEEPER_CONNECT -
STRIMZI_ZOOKEEPER_SESSION_TIMEOUT_MS -
TC_ZK_CONNECTION_TIMEOUT_MS STRIMZI_USE_ZOOKEEPER_TOPIC_STORE이는 양방향 주제 Operator가 사용되는지 여부를 정의하는 Zoo Cryostat 변수의 존재 또는 부재입니다. Unidirectional 주제 관리에서는 Zoo Cryostat를 사용하지 않습니다. Zoo Cryostat 환경 변수가 없으면 리디렉션되지 않은 주제 Operator가 사용됩니다. 그렇지 않으면 양방향 주제 Operator가 사용됩니다.
단방향 모드에서 사용되지 않는 기타 환경 변수는 필요한 경우 추가할 수 있습니다.
-
STRIMZI_REASSIGN_THROTTLE -
STRIMZI_REASSIGN_VERIFY_INTERVAL_MS -
STRIMZI_TOPIC_METADATA_MAX_ATTEMPTS -
STRIMZI_TOPICS_PATH -
STRIMZI_STORE_TOPIC -
STRIMZI_STORE_NAME -
STRIMZI_APPLICATION_ID STRIMZI_STALE_RESULT_TIMEOUT_MS양방향 주제 관리를 위한 독립 실행형 Topic Operator 배포 구성의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- (zookeeper) Zoo Cryostat 클러스터에 연결할 주소의 호스트 및 포트 쌍입니다. Kafka 클러스터가 사용 중인 것과 동일한 Zoo Cryostat 클러스터여야 합니다.
- 2
- (zookeeper) Zoo Cryostat 세션 시간 제한 시간(밀리초)입니다. 기본값은
18000(18초)입니다. - 3
- Kafka에서 주제 메타데이터를 가져오는 시도 횟수입니다. 각 시도 사이의 시간은 지수 백오프로 정의됩니다. 파티션 또는 복제본 수로 인해 주제 생성에 더 많은 시간이 걸리는 경우 이 값을 늘리는 것이 좋습니다. 기본값은
6번 시도입니다.
-
-
배포구성에 변경 사항을 적용하여 Topic Operator를 배포합니다.
6.8.2. 독립 실행형 User Operator 배포 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 사용자 관리를 위한 독립 실행형 구성 요소로 User Operator를 배포하는 방법을 보여줍니다. Cluster Operator에서 관리하지 않는 Kafka 클러스터에서 독립 실행형 User Operator를 사용할 수 있습니다.
독립 실행형 배포는 모든 Kafka 클러스터에서 작동할 수 있습니다.
독립 실행형 배포 파일은 Apache Kafka용 Streams와 함께 제공됩니다. 05-Deployment-strimzi-user-operator.yaml 배포 파일을 사용하여 User Operator를 배포합니다. Kafka 클러스터에 연결하는 데 필요한 환경 변수를 추가하거나 설정합니다.
User Operator는 단일 네임스페이스에서 KafkaUser 리소스를 감시합니다. User Operator 구성에서 조사할 네임스페이스 및 Kafka 클러스터에 대한 연결을 지정합니다. 단일 User Operator는 단일 네임스페이스를 조사할 수 있습니다. 하나의 네임 스페이스는 하나의 User Operator에서만 조사해야 합니다. 두 개 이상의 User Operator를 사용하려면 각각 다른 네임스페이스를 조사하도록 구성합니다. 이렇게 하면 여러 Kafka 클러스터에서 User Operator를 사용할 수 있습니다.
사전 요구 사항
User Operator가 연결할 수 있도록 Kafka 클러스터를 실행하고 있습니다.
독립 실행형 User Operator가 연결에 대해 올바르게 구성된 경우 Kafka 클러스터는 베어 메탈 환경, 가상 머신 또는 관리형 클라우드 애플리케이션 서비스에서 실행할 수 있습니다.
프로세스
install/user-operator/05-Deployment-strimzi-user-operator.yaml독립 실행형 배포 파일에서 다음env속성을 편집합니다.독립 실행형 User Operator 배포 구성의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- User Operator가
KafkaUser리소스를 조사하는 OpenShift 네임스페이스입니다. 하나의 네임스페이스만 지정할 수 있습니다. - 2
- Kafka 클러스터의 모든 브로커를 검색하고 연결할 부트스트랩 브로커 주소의 호스트 및 포트 쌍입니다. 서버가 다운된 경우 쉼표로 구분된 목록을 사용하여 두 개 또는 세 개의 브로커 주소를 지정합니다.
- 3
- mTLS 인증을 위해 새 사용자 인증서에 서명하는 CA(인증 기관)의 공개 키(
ca.crt) 값이 포함된 OpenShiftSecret. - 4
- mTLS 인증을 위해 새 사용자 인증서에 서명하는 CA의 개인 키(
ca.key) 값이 포함된 OpenShift 보안입니다. - 5
- User Operator에서 관리하는
KafkaUser리소스를 식별하는 레이블입니다. 이는 Kafka 클러스터의 이름일 필요는 없습니다.KafkaUser리소스에 할당된 레이블일 수 있습니다. User Operator를 두 개 이상 배포하는 경우 레이블은 각각 고유해야 합니다. 즉, 운영자는 동일한 리소스를 관리할 수 없습니다. - 6
- 주기적 조정 간격(밀리초)입니다. 기본값은
120000(2분)입니다. - 7
- 컨트롤러 이벤트 큐의 크기입니다. 큐 크기는 User Operator가 작동할 것으로 예상되는 최대 사용자 수만큼 커야 합니다. 기본값은
1024입니다. - 8
- 사용자를 조정하기 위한 작업자 풀의 크기입니다. 더 큰 풀에는 더 많은 리소스가 필요할 수 있지만 더 많은
KafkaUser리소스도 처리합니다. 기본값은50입니다. - 9
- Kafka Admin API 및 OpenShift 작업의 작업자 풀 크기입니다. 더 큰 풀에는 더 많은 리소스가 필요할 수 있지만 더 많은
KafkaUser리소스도 처리합니다. 기본값은4입니다. - 10
- 로깅 메시지를 출력하는 수준입니다. 수준을
ERROR,WARNING,INFO,DEBUG또는TRACE로 설정할 수 있습니다. - 11
- 가비지 컬렉션(GC) 로깅을 활성화합니다. 기본값은
true입니다. - 12
- CA의 유효 기간입니다. 기본값은
365일입니다. - 13
- CA의 갱신 기간입니다. 갱신 기간은 현재 인증서의 만료 날짜로부터 역순으로 측정됩니다. 이전 인증서가 만료되기 전에 인증서 갱신을 시작하는 기본값은
30일입니다. - 14
- (선택 사항) User Operator를 실행하는 JVM에서 사용하는 Java 옵션
- 15
- (선택 사항) User Operator에 설정된 디버깅(
-D) 옵션 - 16
- (선택 사항) User Operator가 생성한 OpenShift 시크릿 이름에 대한 접두사입니다.
- 17
- (선택 사항) Kafka 클러스터가 Kafka 관리자 API를 사용하여 권한 부여 ACL 규칙 관리를 지원하는지 여부를 나타냅니다.
false로 설정하면 User Operator에서간단한권한 부여 ACL 규칙이 있는 모든 리소스를 거부합니다. 이렇게 하면 Kafka 클러스터 로그에서 불필요한 예외를 방지할 수 있습니다. 기본값은true입니다. - 18
- (선택 사항) 사용자 인증서가 갱신되는 유지 관리 시간을 정의하는 세미로 구분된 Cron Expression 목록입니다.
- 19
- (선택 사항) User Operator에서 사용하는 Kafka 관리 클라이언트를 속성 형식으로 구성하는 구성 옵션입니다.
mTLS를 사용하여 Kafka 클러스터에 연결하는 경우 연결을 인증하는 데 사용되는 보안을 지정합니다. 그렇지 않으면 다음 단계로 이동합니다.
mTLS 구성의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow User Operator를 배포합니다.
oc create -f install/user-operator
oc create -f install/user-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 배포 상태를 확인합니다.
oc get deployments
oc get deploymentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력에 배포 이름 및 준비 상태 표시
NAME READY UP-TO-DATE AVAILABLE strimzi-user-operator 1/1 1 1
NAME READY UP-TO-DATE AVAILABLE strimzi-user-operator 1/1 1 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow READY는 ready/expected 복제본 수를 표시합니다.AVAILABLE출력에1이 표시되면 배포가 성공적으로 수행됩니다.