2.5. Operator 배포 노트

이 섹션에서는 Operator 기반 배포를 계획할 때 몇 가지 중요한 고려 사항에 대해 설명합니다.

  • AMQ Broker Operator를 동반하는 CRD(Custom Resource Definitions)를 배포하려면 OpenShift 클러스터에 대한 클러스터 관리자 권한이 필요합니다. Operator가 배포되면 관리자가 아닌 사용자는 해당 CR(사용자 정의 리소스)을 통해 브로커 인스턴스를 생성할 수 있습니다. 일반 사용자가 CR을 배포할 수 있도록 하려면 먼저 클러스터 관리자가 CRD에 역할 및 권한을 할당해야 합니다. 자세한 내용은 OpenShift Container Platform 설명서의 사용자 정의 리소스 정의에 대한 클러스터 역할 생성 을 참조하십시오.
  • 최신 Operator 버전의 CRD로 클러스터를 업데이트하면 이 업데이트는 클러스터의 모든 프로젝트에 영향을 미칩니다. 이전 버전의 Operator에서 배포한 모든 브로커 Pod는 상태를 업데이트할 수 없게 될 수 있습니다. OpenShift Container Platform 웹 콘솔에서 실행 중인 브로커 Pod의 로그 탭을 클릭하면 'UpdatePodStatus'가 실패했음을 나타내는 메시지가 표시됩니다. 그러나 해당 프로젝트의 브로커 Pod 및 Operator는 예상대로 계속 작동합니다. 영향을 받는 프로젝트의 이 문제를 해결하려면 최신 버전의 Operator를 사용하도록 해당 프로젝트도 업그레이드해야 합니다.
  • 여러 CR(사용자 정의 리소스) 인스턴스를 배포하여 지정된 OpenShift 프로젝트에서 둘 이상의 브로커 배포를 생성할 수 있지만 일반적으로 프로젝트에 단일 브로커 배포를 생성한 다음 주소에 대해 여러 CR 인스턴스를 배포합니다.

    별도의 프로젝트에서 브로커 배포를 생성하는 것이 좋습니다.

  • 영구 스토리지를 사용하여 브로커를 배포하고 OpenShift 클러스터에 컨테이너 네이티브 스토리지가 없는 경우 PV(영구 볼륨)를 수동으로 프로비저닝하고 Operator가 요청할 수 있는지 확인해야 합니다. 예를 들어, 영구 스토리지를 사용하여 두 브로커의 클러스터를 생성하려면 CR에서 persistenceEnabled=true 를 설정하여 두 개의 영구 볼륨을 사용할 수 있어야 합니다. 기본적으로 각 브로커 인스턴스에는 2GiB의 스토리지가 필요합니다.

    CR에서 persistenceEnabled=false 를 지정하면 배포된 브로커는 임시 스토리지를 사용합니다. 임시 스토리지는 브로커 Pod를 다시 시작할 때마다 기존 데이터가 손실됩니다.

    OpenShift Container Platform에서 영구 스토리지 프로비저닝에 대한 자세한 내용은 다음을 참조하십시오.

  • CR을 처음 배포하기 전에 아래 나열된 항목에 대한 구성을 기본 브로커 CR 인스턴스에 추가해야 합니다. 이러한 항목에 대한 구성을 이미 실행 중인 브로커 배포에 추가할 수 없습니다.

  • Operator가 StatefulSet에서 동적으로 업데이트할 수 없는 CR에서 매개변수를 업데이트하면 Operator는 StatefulSet을 삭제하고 업데이트된 매개변수 값으로 다시 생성합니다. StatefulSet을 삭제하면 모든 Pod가 삭제되고 다시 생성되어 일시적인 브로커 중단이 발생합니다. StatefulSet에서 Operator에서 동적으로 업데이트할 수 없는 CR 업데이트의 예는 persistenceEnabled=falsepersistenceEnabled=true 로 변경하는 경우입니다.