9.17. OpenShift 리소스 사용자 정의
AMQ Streams 배포는 Deployment,Pod 및 Service 리소스와 같은 OpenShift 리소스를 생성합니다. 이러한 리소스는 AMQ Streams Operator에서 관리합니다. 특정 OpenShift 리소스를 관리하는 Operator만 해당 리소스를 변경할 수 있습니다. operator-managed OpenShift 리소스를 수동으로 변경하려고 하면 Operator가 변경 사항을 다시 되돌립니다.
운영자 관리 OpenShift 리소스를 변경하면 다음과 같은 특정 작업을 수행하려는 경우 유용할 수 있습니다.
-
Istio 또는 기타 서비스에서
Pod를 처리하는 방법을 제어하는 사용자 정의 레이블 또는 주석 추가 -
Manage how
Loadbalancer-type Services are created by the cluster
OpenShift 리소스를 변경하려면 다양한 AMQ Streams 사용자 정의 리소스의 spec 섹션에서 template 속성을 사용할 수 있습니다.
다음은 변경 사항을 적용할 수 있는 사용자 정의 리소스 목록입니다.
-
Kafka.spec.kafka -
Kafka.spec.zookeeper -
Kafka.spec.entityOperator -
Kafka.spec.kafkaExporter -
Kafka.spec.cruiseControl -
KafkaNodePool.spec -
KafkaConnect.spec -
KafkaMirrorMaker.spec -
KafkaMirrorMaker2.spec -
KafkaBridge.spec -
KafkaUser.spec
이러한 속성에 대한 자세한 내용은 AMQ Streams 사용자 정의 리소스 API 참조를 참조하십시오.
AMQ Streams 사용자 정의 리소스 API 참조에서는 사용자 지정 가능한 필드에 대한 자세한 정보를 제공합니다.
다음 예에서 template 속성은 Kafka 브로커의 Pod에서 레이블을 수정하는 데 사용됩니다.
템플릿 사용자 정의 예
9.17.1. 이미지 가져오기 정책 사용자 정의 링크 복사링크가 클립보드에 복사되었습니다!
AMQ Streams를 사용하면 Cluster Operator가 배포한 모든 Pod의 컨테이너에 대한 이미지 가져오기 정책을 사용자 지정할 수 있습니다. 이미지 가져오기 정책은 Cluster Operator 배포에서 환경 변수 STRIMZI_IMAGE_PULL_POLICY 를 사용하여 구성됩니다. STRIMZI_IMAGE_PULL_POLICY 환경 변수는 다음 세 가지 값으로 설정할 수 있습니다.
Always- Pod를 시작하거나 다시 시작할 때마다 레지스트리에서 컨테이너 이미지를 가져옵니다.
IfNotPresent- 컨테이너 이미지는 이전에 가져오지 않은 경우에만 레지스트리에서 가져옵니다.
Never- 컨테이너 이미지는 레지스트리에서 가져오지 않습니다.
현재 이미지 가져오기 정책은 모든 Kafka, Kafka Connect 및 Kafka MirrorMaker 클러스터에 대해 한 번에만 사용자 지정할 수 있습니다. 정책을 변경하면 모든 Kafka, Kafka Connect 및 Kafka MirrorMaker 클러스터가 롤링 업데이트됩니다.
9.17.2. 종료 유예 기간 적용 링크 복사링크가 클립보드에 복사되었습니다!
종료 유예 기간을 적용하여 Kafka 클러스터를 완전히 종료할 수 있는 충분한 시간을 제공합니다.
terminationGracePeriodSeconds 속성을 사용하여 시간을 지정합니다. Kafka 사용자 정의 리소스의 template.pod 구성에 속성을 추가합니다.
추가하는 시간은 Kafka 클러스터의 크기에 따라 달라집니다. 종료 유예 기간의 OpenShift 기본값은 30초입니다. 클러스터가 완전히 종료되지 않는 것을 관찰하면 종료 유예 기간을 늘릴 수 있습니다.
Pod가 재시작될 때마다 종료 유예 기간이 적용됩니다. 이 기간은 OpenShift에서 pod에서 실행되는 프로세스에 용어 (사전) 신호를 보낼 때 시작됩니다. 기간은 종료 Pod의 프로세스를 중지하기 전에 다른 Pod로 전송하는 데 필요한 시간을 반영해야 합니다. 기간이 종료되면 종료 신호가 Pod에서 계속 실행 중인 모든 프로세스를 중지합니다.
다음 예제에서는 Kafka 사용자 정의 리소스에 120초의 종료 유예 기간을 추가합니다. 다른 Kafka 구성 요소의 사용자 정의 리소스에 구성을 지정할 수도 있습니다.
종료 유예 기간 구성 예