9.5. Cluster Operator 구성
환경 변수를 사용하여 Cluster Operator를 구성합니다. 배포 구성 파일에서 Cluster Operator의 컨테이너 이미지에 대한 환경 변수를 지정합니다. 다음 환경 변수를 사용하여 Cluster Operator를 구성할 수 있습니다. 대기 모드에서 Cluster Operator 복제본을 실행하는 경우 리더 선택을 활성화하는 추가 환경 변수가 있습니다.
Kafka, Kafka Connect 및 Kafka MirrorMaker는 여러 버전을 지원합니다. STRIMZI_<COMPONENT_NAME>_IMAGES 환경 변수를 사용하여 각 버전에 사용되는 기본 컨테이너 이미지를 구성합니다. 구성은 버전과 이미지 간의 매핑을 제공합니다. 필수 구문은 공백 또는 쉼표로 구분된 < version> = <image > 쌍으로 되어 지정된 버전에 사용할 이미지를 결정합니다. 예: 3.7.0=registry.redhat.io/amq-streams/kafka-37-rhel8:2.7.0. 구성 요소의 구성에 image 속성 값이 지정된 경우 기본 이미지가 재정의됩니다. 구성 요소의 이미지 구성에 대한 자세한 내용은 AMQ Streams 사용자 정의 리소스 API 참조를 참조하십시오.
AMQ Streams 릴리스 아티팩트와 함께 제공되는 배포 구성 파일은 install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml 입니다.
STRIMZI_NAMESPACEOperator가 작동하는 쉼표로 구분된 네임스페이스 목록입니다. 설정되지 않거나 빈 문자열로 설정하거나
*로 설정하면 Cluster Operator가 모든 네임스페이스에서 작동합니다.Cluster Operator 배포에서는 Downward API를 사용하여 Cluster Operator가 배포된 네임스페이스로 자동으로 설정할 수 있습니다.
Cluster Operator 네임스페이스 구성 예
env: - name: STRIMZI_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespaceenv: - name: STRIMZI_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow STRIMZI_FULL_RECONCILIATION_INTERVAL_MS- 선택 사항이며 기본값은 120000 ms입니다. 주기적 조정 간격(밀리초)입니다.
STRIMZI_OPERATION_TIMEOUT_MS- 선택 사항인 기본 300000 ms. 내부 작업에 대한 제한 시간(밀리초)입니다. 일반 OpenShift 작업이 일반 OpenShift 작업보다 오래 걸리는 클러스터에서 AMQ Streams를 사용할 때 (예: 컨테이너 이미지의 긴 다운로드 시간과 같은 요인) 이 값을 늘립니다.
STRIMZI_ZOOKEEPER_ADMIN_SESSION_TIMEOUT_MS-
선택 사항인 기본 10000 ms. Cluster Operator의 Zoo Cryostat 관리자 클라이언트의 세션 제한 시간(밀리초)입니다. 시간 초과 문제로 인해 Cluster Operator의 Zoo Cryostat 요청이 정기적으로 실패하는 경우 값을 늘립니다.
maxSessionTimeout구성을 통해 Zoo Cryostat 서버 측에 허용되는 최대 세션 시간이 설정됩니다. 기본적으로 최대 세션 시간 제한 값은 40000ms의 기본tickTime(기본값은 2000초)의 20배입니다. 시간 초과가 더 필요한 경우maxSessionTimeoutZoo Cryostat 서버 구성 값을 변경합니다. STRIMZI_OPERATIONS_THREAD_POOL_SIZE- 선택 사항, 기본 10. 작업자 스레드 풀 크기: Cluster Operator에서 실행하는 다양한 비동기 및 차단 작업에 사용됩니다.
STRIMZI_OPERATOR_NAME- 선택 사항이며 기본값은 Pod의 호스트 이름입니다. Operator 이름은 OpenShift 이벤트를 발송 할 때 AMQ Streams 인스턴스를 식별합니다.
STRIMZI_OPERATOR_NAMESPACECluster Operator가 실행 중인 네임스페이스의 이름입니다. 이 변수를 수동으로 구성하지 마십시오. Downward API를 사용합니다.
env: - name: STRIMZI_OPERATOR_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespaceenv: - name: STRIMZI_OPERATOR_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow STRIMZI_OPERATOR_NAMESPACE_LABELS선택 사항: AMQ Streams Cluster Operator가 실행 중인 네임스페이스의 레이블입니다. 네임스페이스 레이블을 사용하여 네트워크 정책에서 네임스페이스 선택기를 구성합니다. 네트워크 정책을 사용하면 AMQ Streams Cluster Operator가 이러한 레이블이 있는 네임스페이스에서 피연산자에만 액세스할 수 있습니다. 설정되지 않은 경우 OpenShift 클러스터의 네임스페이스에서 Cluster Operator에 액세스할 수 있도록 네트워크 정책의 네임스페이스 선택기가 구성됩니다.
env: - name: STRIMZI_OPERATOR_NAMESPACE_LABELS value: label1=value1,label2=value2env: - name: STRIMZI_OPERATOR_NAMESPACE_LABELS value: label1=value1,label2=value2Copy to Clipboard Copied! Toggle word wrap Toggle overflow STRIMZI_LABELS_EXCLUSION_PATTERN선택 사항인 기본 regex 패턴은
^app.kubernetes.io/(?!part-of).*입니다. 기본 사용자 정의 리소스의 레이블 전파를 해당 하위 리소스로 필터링하는 데 사용되는 regex 제외 패턴입니다. 레이블 제외 필터는spec.kafka.template.pod.metadata.labels와 같은 템플릿 섹션의 레이블에는 적용되지 않습니다.env: - name: STRIMZI_LABELS_EXCLUSION_PATTERN value: "^key1.*"env: - name: STRIMZI_LABELS_EXCLUSION_PATTERN value: "^key1.*"Copy to Clipboard Copied! Toggle word wrap Toggle overflow STRIMZI_CUSTOM_<COMPONENT_NAME>_LABELS선택 사항: 구성 요소의 사용자 정의 리소스에서 생성한 모든 Pod에 적용할 하나 이상의 사용자 지정 레이블입니다. 사용자 정의 리소스가 생성되거나 다음에 조정될 때 Cluster Operator에서 Pod에 레이블을 지정합니다.
라벨은 다음 구성 요소에 적용할 수 있습니다.
-
KAFKA -
KAFKA_CONNECT -
KAFKA_CONNECT_BUILD -
ZOOKEEPER -
ENTITY_OPERATOR -
KAFKA_MIRROR_MAKER2 -
KAFKA_MIRROR_MAKER -
CRUISE_CONTROL -
KAFKA_BRIDGE -
KAFKA_EXPORTER
-
STRIMZI_CUSTOM_RESOURCE_SELECTOR선택 사항: Cluster Operator에서 처리하는 사용자 정의 리소스를 필터링하는 라벨 선택기입니다. Operator는 지정된 라벨이 설정된 사용자 정의 리소스에서만 작동합니다. 이러한 레이블이 없는 리소스는 Operator에서 볼 수 없습니다. 라벨 선택기는 Kafka ,
,KafkaConnectKafkaBridge,KafkaMirrorMaker및KafkaMirrorMaker2리소스에 적용됩니다.KafkaRebalance및KafkaConnector리소스는 해당 Kafka 및 Kafka Connect 클러스터에 일치하는 라벨이 있는 경우에만 작동합니다.env: - name: STRIMZI_CUSTOM_RESOURCE_SELECTOR value: label1=value1,label2=value2env: - name: STRIMZI_CUSTOM_RESOURCE_SELECTOR value: label1=value1,label2=value2Copy to Clipboard Copied! Toggle word wrap Toggle overflow STRIMZI_KAFKA_IMAGES-
필수 항목입니다. Kafka 버전에서 해당 버전의 Kafka 브로커가 포함된 해당 이미지로 매핑됩니다. 예:
3.6.0=registry.redhat.io/amq-streams/kafka-36-rhel8:2.7.0, 3.7.0=registry.redhat.io/amq-streams/kafka-37-rhel8:2.7.0. STRIMZI_KAFKA_CONNECT_IMAGES-
필수 항목입니다. Kafka 버전에서 해당 버전의 Kafka Connect 이미지로의 매핑입니다. 예:
3.6.0=registry.redhat.io/amq-streams/kafka-36-rhel8:2.7.0, 3.7.0=registry.redhat.io/amq-streams/kafka-37-rhel8:2.7.0. STRIMZI_KAFKA_MIRROR_MAKER2_IMAGES-
필수 항목입니다. Kafka 버전에서 해당 버전의 MirrorMaker 2 이미지로의 매핑입니다. 예:
3.6.0=registry.redhat.io/amq-streams/kafka-36-rhel8:2.7.0, 3.7.0=registry.redhat.io/amq-streams/kafka-37-rhel8:2.7.0. - (더 이상 사용되지 않음)
STRIMZI_KAFKA_MIRROR_MAKER_IMAGES -
필수 항목입니다. Kafka 버전에서 해당 버전의 MirrorMaker 이미지로의 매핑입니다. 예:
3.6.0=registry.redhat.io/amq-streams/kafka-36-rhel8:2.7.0, 3.7.0=registry.redhat.io/amq-streams/kafka-37-rhel8:2.7.0. STRIMZI_DEFAULT_TOPIC_OPERATOR_IMAGE-
선택 사항: 기본값은
registry.redhat.io/amq-streams/strimzi-rhel8-operator:2.7.0입니다.Kafka리소스에서 이미지가Kafka.spec.entityOperator.topicOperator.image로 지정되지 않은 경우 Topic Operator를 배포할 때 기본값으로 사용할 이미지 이름입니다. STRIMZI_DEFAULT_USER_OPERATOR_IMAGE-
선택 사항: 기본값은
registry.redhat.io/amq-streams/strimzi-rhel8-operator:2.7.0입니다. 이미지가Kafka리소스에Kafka.spec.entityOperator.userOperator.image로 지정되지 않은 경우 User Operator를 배포할 때 사용할 이미지 이름입니다. STRIMZI_DEFAULT_KAFKA_EXPORTER_IMAGE-
선택 사항: 기본값은
registry.redhat.io/amq-streams/kafka-37-rhel8:2.7.0입니다. 이미지가Kafka리소스에서Kafka.spec.kafkaExporter.image로 지정되지 않은 경우 Kafka Exporter를 배포할 때 사용할 이미지 이름입니다. STRIMZI_DEFAULT_CRUISE_CONTROL_IMAGE-
선택 사항: 기본값은
registry.redhat.io/amq-streams/kafka-37-rhel8:2.7.0입니다.Kafka리소스에서 이미지가Kafka.spec.cruiseControl.image로 지정되지 않은 경우 Cruise Control을 배포할 때 기본값으로 사용할 이미지 이름입니다. STRIMZI_DEFAULT_KAFKA_BRIDGE_IMAGE-
선택 사항: 기본값은
registry.redhat.io/amq-streams/bridge-rhel8:2.7.0입니다.Kafka리소스에서 이미지가Kafka.spec.kafkaBridge.image로 지정되지 않은 경우 Kafka 브리지를 배포할 때 사용할 이미지 이름입니다. STRIMZI_DEFAULT_KAFKA_INIT_IMAGE-
선택 사항: 기본값은
registry.redhat.io/amq-streams/strimzi-rhel8-operator:2.7.0입니다. Kafka 리소스의brokerRackInitImage또는 Kafka Connect 리소스의clientRackInitImage에 이미지가 지정되지 않은 경우Kafka이니셜라이저 컨테이너의 기본값으로 사용할 이미지 이름입니다. init 컨테이너는 랙 지원과 같은 초기 구성 작업을 위해 Kafka 클러스터보다 먼저 시작됩니다. STRIMZI_IMAGE_PULL_POLICY-
선택 사항: Cluster Operator가 관리하는 모든 Pod의 컨테이너에 적용되는
ImagePullPolicy입니다. 유효한 값은Always,IfNotPresent및Never입니다. 지정하지 않으면 OpenShift 기본값이 사용됩니다. 정책을 변경하면 모든 Kafka, Kafka Connect 및 Kafka MirrorMaker 클러스터가 롤링 업데이트됩니다. STRIMZI_IMAGE_PULL_SECRETS-
선택 사항: 쉼표로 구분된
시크릿이름 목록입니다. 여기에서 참조하는 시크릿에는 컨테이너 이미지를 가져오는 컨테이너 레지스트리에 대한 인증 정보가 포함되어 있습니다. 보안은 Cluster Operator가 생성한 모든 Pod의imagePullSecrets속성에 지정됩니다. 이 목록을 변경하면 모든 Kafka, Kafka Connect 및 Kafka MirrorMaker 클러스터의 롤링 업데이트가 생성됩니다. STRIMZI_KUBERNETES_VERSION선택 사항: API 서버에서 감지된 OpenShift 버전 정보를 재정의합니다.
OpenShift 버전 덮어쓰기의 구성 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KUBERNETES_SERVICE_DNS_DOMAIN선택 사항: 기본 OpenShift DNS 도메인 이름 접미사를 덮어씁니다.
기본적으로 OpenShift 클러스터에 할당된 서비스에는 기본 접미사
cluster.local을 사용하는 DNS 도메인 이름이 있습니다.예를 들어 브로커 kafka-0 의 경우 다음과 같습니다.
<cluster-name>-kafka-0.<cluster-name>-kafka-brokers.<namespace>.svc.cluster.local
<cluster-name>-kafka-0.<cluster-name>-kafka-brokers.<namespace>.svc.cluster.localCopy to Clipboard Copied! Toggle word wrap Toggle overflow DNS 도메인 이름은 호스트 이름 확인에 사용되는 Kafka 브로커 인증서에 추가됩니다.
클러스터에서 다른 DNS 도메인 이름 접미사를 사용하는 경우 Kafka 브로커와의 연결을 구축하기 위해
KUBERNETES_SERVICE_DNS_DOMAIN환경 변수를 기본값에서 사용 중인 환경으로 변경합니다.STRIMZI_CONNECT_BUILD_TIMEOUT_MS- 선택 사항인 기본 300000 ms. 추가 커넥터를 사용하여 새 Kafka Connect 이미지를 빌드하는 시간 제한 시간(밀리초)입니다. AMQ Streams를 사용하여 많은 커넥터가 포함된 컨테이너 이미지를 빌드하거나 느린 컨테이너 레지스트리를 사용할 때 이 값을 늘리는 것이 좋습니다.
STRIMZI_NETWORK_POLICY_GENERATION선택 사항, 기본
true. 리소스에 대한 네트워크 정책입니다. 네트워크 정책은 Kafka 구성 요소 간 연결을 허용합니다.네트워크 정책 생성을 비활성화하려면 이 환경 변수를
false로 설정합니다. 예를 들어 사용자 지정 네트워크 정책을 사용하려는 경우 이 작업을 수행할 수 있습니다. 사용자 지정 네트워크 정책을 사용하면 구성 요소 간 연결 유지 관리를 더 많이 제어할 수 있습니다.STRIMZI_DNS_CACHE_TTL-
선택 사항인 기본
30입니다. 로컬 DNS 확인기에서 성공적인 이름 조회를 캐시하는 시간(초)입니다. 모든 음수 값은 캐시를 영구적으로 의미합니다. 0은 캐시가 없으므로 긴 캐싱 정책이 적용되어 연결 오류를 방지하는 데 유용할 수 있습니다. STRIMZI_POD_SET_RECONCILIATION_ONLY-
선택 사항, 기본
false.true로 설정하면 Cluster Operator가StrimziPodSet리소스 및 기타 사용자 정의 리소스(Kafka,KafkaConnect등)에 대한 변경 사항만 무시됩니다. 이 모드는 필요한 경우 Pod가 다시 생성되지만 클러스터에 다른 변경 사항은 발생하지 않도록 하는 데 유용합니다. STRIMZI_FEATURE_GATES- 선택 사항: 기능 게이트 에 의해 제어되는 기능 및 기능을 활성화하거나 비활성화합니다.
STRIMZI_POD_SECURITY_PROVIDER_CLASS-
선택 사항: Pod 및 컨테이너에 대한 보안 컨텍스트 구성을 제공하는 데 사용할 수 있는 플러그형
PodSecurityProvider클래스에 대한 구성입니다.
9.5.1. 네트워크 정책을 사용하여 Cluster Operator에 대한 액세스 제한 링크 복사링크가 클립보드에 복사되었습니다!
STRIMZI_OPERATOR_NAMESPACE_LABELS 환경 변수를 사용하여 네임스페이스 레이블을 사용하여 Cluster Operator의 네트워크 정책을 설정합니다.
Cluster Operator는 관리하는 리소스 또는 별도의 네임스페이스에서 동일한 네임스페이스에서 실행할 수 있습니다. 기본적으로 STRIMZI_OPERATOR_NAMESPACE 환경 변수는 Downward API를 사용하여 Cluster Operator가 실행 중인 네임스페이스를 찾도록 구성됩니다. Cluster Operator가 리소스와 동일한 네임스페이스에서 실행 중인 경우 로컬 액세스만 필요하며 AMQ Streams에서 허용합니다.
Cluster Operator가 관리하는 리소스에 대해 별도의 네임스페이스에서 실행 중인 경우 네트워크 정책이 구성되지 않은 경우 OpenShift 클러스터의 모든 네임스페이스가 Cluster Operator에 액세스할 수 있습니다. 네임스페이스 레이블을 추가하면 Cluster Operator에 대한 액세스 권한이 지정된 네임스페이스로 제한됩니다.
Cluster Operator 배포에 대해 구성된 네트워크 정책
9.5.2. 사용자 정의 리소스의 정기적인 조정 설정 링크 복사링크가 클립보드에 복사되었습니다!
STRIMZI_FULL_RECONCILIATION_INTERVAL_MS 변수를 사용하여 Cluster Operator의 정기적인 조정을 위한 시간 간격을 설정합니다. 해당 값을 필요한 간격(밀리초)으로 바꿉니다.
Cluster Operator 배포에 구성된 조정 기간
Cluster Operator는 OpenShift 클러스터에서 수신한 적용 가능한 클러스터 리소스에 대한 모든 알림에 응답합니다. Operator가 실행 중이 아니거나 어떤 이유로든 알림이 수신되지 않으면 리소스가 실행 중인 OpenShift 클러스터 상태와 동기화되지 않습니다. 페일오버를 올바르게 처리하기 위해 Cluster Operator가 정기적으로 조정 프로세스를 실행하여 리소스 상태를 현재 클러스터 배포와 비교하여 모든 노드에서 일관된 상태를 유지할 수 있습니다.
9.5.3. 주석을 사용하여 사용자 정의 리소스 조정 일시 중지 링크 복사링크가 클립보드에 복사되었습니다!
수정 또는 업데이트를 수행할 수 있도록 AMQ Streams Operator에서 관리하는 사용자 정의 리소스의 조정을 일시 중지하는 것이 유용한 경우도 있습니다. 조정이 일시 중지되면 일시 중지가 종료될 때까지 Operator가 사용자 정의 리소스에 대한 변경 사항을 무시합니다.
사용자 정의 리소스의 조정을 일시 중지하려면 구성에서 strimzi.io/pause-reconciliation 주석을 true 로 설정합니다. 이렇게 하면 적절한 Operator가 사용자 정의 리소스의 조정을 일시 중지하도록 지시합니다. 예를 들어 Cluster Operator의 조정이 일시 중지되도록 KafkaConnect 리소스에 주석을 적용할 수 있습니다.
pause 주석이 활성화된 사용자 정의 리소스를 생성할 수도 있습니다. 사용자 정의 리소스가 생성되지만 무시됩니다.
사전 요구 사항
- 사용자 정의 리소스를 관리하는 AMQ Streams Operator가 실행 중입니다.
프로세스
OpenShift에서 사용자 정의 리소스에 주석을 달고
pause-reconciliation을true로 설정합니다.oc annotate <kind_of_custom_resource> <name_of_custom_resource> strimzi.io/pause-reconciliation="true"
oc annotate <kind_of_custom_resource> <name_of_custom_resource> strimzi.io/pause-reconciliation="true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들어
KafkaConnect사용자 정의 리소스의 경우 다음을 수행합니다.oc annotate KafkaConnect my-connect strimzi.io/pause-reconciliation="true"
oc annotate KafkaConnect my-connect strimzi.io/pause-reconciliation="true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 정의 리소스의 상태 조건에
ReconciliationPaused: 변경 사항이 표시되는지 확인합니다.oc describe <kind_of_custom_resource> <name_of_custom_resource>
oc describe <kind_of_custom_resource> <name_of_custom_resource>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 유형조건은lastTransitionTime에서ReconciliationPaused로 변경됩니다.일시 중지된 조정 조건 유형이 있는 사용자 정의 리소스의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
일시 중지에서 재시작
-
조정을 다시 시작하려면 주석을
false로 설정하거나 주석을 제거할 수 있습니다.
9.5.4. 리더 선택으로 여러 Cluster Operator 복제본 실행 링크 복사링크가 클립보드에 복사되었습니다!
기본 Cluster Operator 구성을 사용하면 리더 선택을 통해 Cluster Operator의 여러 병렬 복제본을 실행할 수 있습니다. 하나의 복제본이 활성 리더로 선택되고 배포된 리소스를 작동합니다. 다른 복제본은 standby 모드에서 실행됩니다. 리더가 중지되거나 실패하면 대기 복제본 중 하나가 새 리더로 선택되고 배포된 리소스 운영을 시작합니다.
기본적으로 AMQ Streams는 항상 리더 복제본인 단일 Cluster Operator 복제본으로 실행됩니다. 단일 Cluster Operator 복제본이 중지되거나 실패하면 OpenShift에서 새 복제본을 시작합니다.
여러 복제본으로 Cluster Operator를 실행하는 것은 필수 사항은 아닙니다. 그러나 주요 오류로 인한 대규모 중단의 경우 복제본이 대기 상태에 있는 것이 좋습니다. 예를 들어 여러 작업자 노드 또는 전체 가용성 영역이 실패한다고 가정합니다. 이러한 오류로 인해 Cluster Operator Pod 및 여러 Kafka Pod가 동시에 중단될 수 있습니다. 후속 Pod 예약으로 인해 리소스 부족으로 인해 혼잡이 발생하는 경우 단일 Cluster Operator를 실행할 때 작업이 지연될 수 있습니다.
9.5.4.1. Cluster Operator 복제본의 리더 선택 활성화 링크 복사링크가 클립보드에 복사되었습니다!
추가 Cluster Operator 복제본을 실행할 때 리더 선택 환경 변수를 구성합니다. 지원되는 환경 변수는 다음과 같습니다.
STRIMZI_LEADER_ELECTION_ENABLED-
선택 사항, disabled(
false)는 기본적으로 비활성화되어 있습니다. 리더 선택을 활성화하거나 비활성화하여 추가 Cluster Operator 복제본을 대기 상태로 실행할 수 있습니다.
리더 선택이 기본적으로 비활성화되어 있습니다. 이 환경 변수를 설치에 적용하는 경우에만 활성화됩니다.
STRIMZI_LEADER_ELECTION_LEASE_NAME-
리더 선택을 활성화할 때 필요합니다. 리더 선택에 사용되는 OpenShift
Lease리소스의 이름입니다. STRIMZI_LEADER_ELECTION_LEASE_NAMESPACE리더 선택을 활성화할 때 필요합니다. 리더 선택에 사용되는 OpenShift
Lease리소스가 생성되는 네임스페이스입니다. Downward API를 사용하여 Cluster Operator가 배포된 네임스페이스로 구성할 수 있습니다.env: - name: STRIMZI_LEADER_ELECTION_LEASE_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespaceenv: - name: STRIMZI_LEADER_ELECTION_LEASE_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow STRIMZI_LEADER_ELECTION_IDENTITY리더 선택을 활성화할 때 필요합니다. 리더 선택 중에 사용되는 지정된 Cluster Operator 인스턴스의 ID를 구성합니다. ID는 각 Operator 인스턴스에 대해 고유해야 합니다. Downward API를 사용하여 Cluster Operator가 배포된 Pod의 이름으로 구성할 수 있습니다.
env: - name: STRIMZI_LEADER_ELECTION_IDENTITY valueFrom: fieldRef: fieldPath: metadata.nameenv: - name: STRIMZI_LEADER_ELECTION_IDENTITY valueFrom: fieldRef: fieldPath: metadata.nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow STRIMZI_LEADER_ELECTION_LEASE_DURATION_MS- 선택 사항인 기본 15000 ms. 리스가 유효한 기간을 지정합니다.
STRIMZI_LEADER_ELECTION_RENEW_DEADLINE_MS- 선택 사항인 기본 10000 ms. 리더가 리더십을 유지하려고 시도하는 기간을 지정합니다.
STRIMZI_LEADER_ELECTION_RETRY_PERIOD_MS- 선택 사항인 기본 2000 ms입니다. 리더의 리스 잠금에 대한 업데이트 빈도를 지정합니다.
9.5.4.2. Cluster Operator 복제본 구성 링크 복사링크가 클립보드에 복사되었습니다!
대기 모드에서 추가 Cluster Operator 복제본을 실행하려면 복제본 수를 늘리고 리더 선택을 활성화해야 합니다. 리더 선택을 구성하려면 리더 선택 환경 변수를 사용합니다.
필요한 변경을 수행하려면 install/cluster-operator/:에 있는 다음 Cluster Operator 설치 파일을 구성합니다.
- 060-Deployment-strimzi-cluster-operator.yaml
- 022-ClusterRole-strimzi-cluster-operator-role.yaml
- 022-RoleBinding-strimzi-cluster-operator.yaml
리더 선택에는 조사 중인 네임스페이스가 아니라 Cluster Operator가 실행 중인 네임스페이스를 대상으로 하는 자체 ClusterRole 및 RoleBinding RBAC 리소스가 있습니다.
기본 배포 구성은 Cluster Operator와 동일한 네임스페이스에 strimzi-cluster-operator 라는 Lease 리소스를 생성합니다. Cluster Operator는 리스를 사용하여 리더 선택을 관리합니다. RBAC 리소스는 Lease 리소스를 사용할 수 있는 권한을 제공합니다. 다른 Lease 이름 또는 네임스페이스를 사용하는 경우 그에 따라 ClusterRole 및 RoleBinding 파일을 업데이트합니다.
사전 요구 사항
-
CustomResourceDefinition및 RBAC(ClusterRole,RoleBinding) 리소스를 만들고 관리할 수 있는 권한이 있는 계정이 필요합니다.
프로세스
060- 파일에 정의된 Cluster Operator를 배포하는 데 사용되는 Deployment 리소스를 편집합니다.
Deployment -strimzi-cluster-operator.yaml
replicas속성을 기본 (1)에서 필요한 복제본 수와 일치하는 값으로 변경합니다.Cluster Operator 복제본 수 증가
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 리더 선택
env속성이 설정되어 있는지 확인합니다.설정되지 않은 경우 구성합니다.
리더 선택을 활성화하려면
STRIMZI_LEADER_ELECTION_ENABLED를true(기본값)로 설정해야 합니다.이 예에서 리스는
my-strimzi-cluster-operator로 변경됩니다.Cluster Operator의 리더 선택 환경 변수 구성
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용 가능한 환경 변수에 대한 설명은 9.5.4.1절. “Cluster Operator 복제본의 리더 선택 활성화” 을 참조하십시오.
리더 선택에 사용된
Lease리소스의 다른 이름 또는 네임스페이스를 지정한 경우 RBAC 리소스를 업데이트합니다.(선택 사항)
022-ClusterRole-strimzi-cluster-operator-role.yaml파일에서ClusterRole리소스를 편집합니다.Lease리소스의 이름으로resourceNames를 업데이트합니다.리스에 대한 ClusterRole 참조 업데이트
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (선택 사항)
022-RoleBinding-strimzi-cluster-operator.yaml파일에서RoleBinding리소스를 편집합니다.subject.name및 subject.namespace를Lease리소스의 이름과 생성된 네임스페이스로 업데이트합니다.lease에 대한 RoleBinding 참조 업데이트
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cluster Operator를 배포합니다.
oc create -f install/cluster-operator -n myproject
oc create -f install/cluster-operator -n myprojectCopy to Clipboard Copied! Toggle word wrap Toggle overflow 배포 상태를 확인합니다.
oc get deployments -n myproject
oc get deployments -n myprojectCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력에 배포 이름 및 준비 상태 표시
NAME READY UP-TO-DATE AVAILABLE strimzi-cluster-operator 3/3 3 3
NAME READY UP-TO-DATE AVAILABLE strimzi-cluster-operator 3/3 3 3Copy to Clipboard Copied! Toggle word wrap Toggle overflow READY는 ready/expected 복제본 수를 표시합니다.AVAILABLE출력에 올바른 복제본 수가 표시되면 배포가 성공적으로 수행됩니다.
9.5.5. Cluster Operator HTTP 프록시 설정 구성 링크 복사링크가 클립보드에 복사되었습니다!
HTTP 프록시 뒤에서 Kafka 클러스터를 실행 중인 경우에도 클러스터에서 데이터를 계속 전달할 수 있습니다. 예를 들어 프록시 외부에서 데이터를 푸시하고 가져오는 커넥터와 함께 Kafka Connect를 실행할 수 있습니다. 또는 프록시를 사용하여 권한 부여 서버와 연결할 수 있습니다.
프록시 환경 변수를 지정하도록 Cluster Operator 배포를 구성합니다. Cluster Operator는 표준 프록시 구성(HTTP_PROXY,HTTPS_PROXY 및 NO_PROXY)을 환경 변수로 허용합니다. 프록시 설정은 모든 AMQ Streams 컨테이너에 적용됩니다.
프록시 주소 형식은 http://<ip_address>:<port_number>입니다. 이름과 암호를 사용하여 프록시를 설정하려면 형식은 http://<username>:<password>@<ip-address>:<port_number>입니다.
사전 요구 사항
-
CustomResourceDefinition및 RBAC(ClusterRole,RoleBinding) 리소스를 만들고 관리할 수 있는 권한이 있는 계정이 필요합니다.
프로세스
Cluster Operator에 프록시 환경 변수를 추가하려면
배포구성을 업데이트합니다(install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml).Cluster Operator의 프록시 설정 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또는 배포를 직접
편집합니다.oc edit deployment strimzi-cluster-operator
oc edit deployment strimzi-cluster-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 배포를 직접 편집하는 대신 YAML 파일을 업데이트한 경우 변경 사항을 적용합니다.
oc create -f install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml
oc create -f install/cluster-operator/060-Deployment-strimzi-cluster-operator.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.5.6. Cluster Operator 구성을 사용하여 FIPS 모드 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
AMQ Streams는 FIPS 지원 OpenShift 클러스터에서 실행할 때 FIPS 모드로 자동 전환합니다. Cluster Operator의 배포 구성에서 FIPS_MODE 환경 변수를 비활성화 하여 FIPS 모드를 비활성화합니다. FIPS 모드가 비활성화되면 AMQ Streams는 모든 구성 요소에 대해 OpenJDK에서 FIPS를 자동으로 비활성화합니다. FIPS 모드가 비활성화된 상태에서 AMQ Streams는 FIPS와 호환되지 않습니다. AMQ Streams Operator 및 모든 피연산자는 FIPS를 활성화하지 않고 OpenShift 클러스터에서 실행 중인 것과 동일한 방식으로 실행됩니다.
프로세스
Cluster Operator에서 FIPS 모드를 비활성화하려면
배포구성(install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml)을 업데이트하고FIPS_MODE환경 변수를 추가합니다.Cluster Operator의 FIPS 구성 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- FIPS 모드를 비활성화합니다.
또는 배포를 직접
편집합니다.oc edit deployment strimzi-cluster-operator
oc edit deployment strimzi-cluster-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 배포를 직접 편집하는 대신 YAML 파일을 업데이트한 경우 변경 사항을 적용합니다.
oc apply -f install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml
oc apply -f install/cluster-operator/060-Deployment-strimzi-cluster-operator.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow