4.6. 브로커 스토리지 요구 사항 구성
Operator 기반 브로커 배포에서 영구 스토리지를 사용하려면 배포를 생성하는 데 사용되는 CR(사용자 정의 리소스) 인스턴스에서 persistenceEnabled 를 true 로 설정합니다. OpenShift 클러스터에 컨테이너 네이티브 스토리지가 없는 경우 PV(영구 볼륨)를 수동으로 프로비저닝하고 PVC(영구 볼륨 클레임)를 사용하여 Operator에서 요청할 수 있는지 확인해야 합니다. 예를 들어 영구 스토리지가 있는 두 브로커의 클러스터를 생성하려면 두 개의 PV를 사용할 수 있어야 합니다.
OpenShift Container Platform에서 PV를 수동으로 프로비저닝하는 경우 각 PV의 회수 정책을 Retain 으로 설정해야 합니다. PV의 회수 정책이 Retain 으로 설정되지 않고 Operator가 PV를 클레임하는 데 사용된 PVC가 삭제되면 PV도 삭제됩니다. PV를 삭제하면 볼륨에서 데이터가 손실됩니다. 자세한 내용은 회수 정책 설정에 대한 자세한 내용은 OpenShift Container Platform 설명서의 영구 스토리지 이해 를 참조하십시오.
기본적으로 PVC는 클러스터에 구성된 기본 스토리지 클래스에서 각 브로커의 2GiB 스토리지를 가져옵니다. PVC에서 요청된 기본 크기 및 스토리지 클래스를 재정의할 수 있지만 CR을 처음 배포하기 전에 CR에 새 값을 구성하면 됩니다.
4.6.1. 브로커 스토리지 크기 및 스토리지 클래스 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 브로커 배포에 대해 각 브로커에 필요한 영구 볼륨 클레임(PVC)의 크기 및 스토리지 클래스를 지정하도록 브로커 배포에 대한 CR(사용자 정의 리소스) 인스턴스를 구성하는 방법을 보여줍니다.
AMQ Broker를 배포한 후 CR의 스토리지 구성을 변경하면 업데이트된 구성이 기존 Pod에 다시 적용되지 않습니다. 그러나 업데이트된 구성은 배포를 확장하는 경우 생성된 새 Pod에 적용됩니다.
사전 요구 사항
- CR 인스턴스를 사용하여 기본 브로커 배포를 생성하는 방법을 숙지해야 합니다. 3.4.1절. “기본 브로커 인스턴스 배포”을 참조하십시오.
PV(영구 볼륨)가 이미 프로비저닝되어 있고 Operator에서 요청할 수 있도록 설정해야 합니다. 예를 들어 영구 스토리지가 있는 두 브로커의 클러스터를 생성하려면 두 개의 PV를 사용할 수 있어야 합니다.
영구 스토리지 프로비저닝에 대한 자세한 내용은 OpenShift Container Platform 설명서의 영구 스토리지 이해 를 참조하십시오.
프로세스
브로커 배포에 대한 CR(사용자 정의 리소스) 인스턴스 구성을 시작합니다.
OpenShift 명령줄 인터페이스 사용:
배포를 생성하는 프로젝트에 CR을 배포할 수 있는 권한이 있는 사용자로 OpenShift에 로그인합니다.
oc login -u <user> -p <password> --server=<host:port>
oc login -u <user> -p <password> --server=<host:port>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
다운로드 및 추출한 Operator 설치 아카이브의
deploy/crs디렉터리에 포함된broker_activemqartemis_cr.yaml이라는 샘플 CR 파일을 엽니다.
OpenShift Container Platform 웹 콘솔 사용:
- 배포를 생성하는 프로젝트에 CR을 배포할 권한이 있는 사용자로 콘솔에 로그인합니다.
-
기본 브로커 CRD를 기반으로 새 CR 인스턴스를 시작합니다. 왼쪽 창에서
를 클릭합니다. - ActiveMQArtemis CRD를 클릭합니다.
- Instances 탭을 클릭합니다.
Create ActiveMQArtemis 를 클릭합니다.
콘솔에서 YAML 편집기가 열리고 CR 인스턴스를 구성할 수 있습니다.
기본 브로커 배포의 경우 아래 표시된 구성과 유사할 수 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow broker_activemqartemis_cr.yaml샘플 CR 파일에서image속성이자리 표시자의 기본값으로 설정되어 있는지 확인합니다. 이 값은 기본적으로image속성이 배포에 사용할 브로커 컨테이너 이미지를 지정하지 않음을 나타냅니다. Operator에서 사용할 적절한 브로커 컨테이너 이미지를 결정하는 방법을 알아보려면 2.7절. “Operator에서 컨테이너 이미지를 선택하는 방법” 를 참조하십시오.브로커 스토리지 크기를 지정하려면 CR의
deploymentPlan섹션에서storage섹션을 추가합니다.size속성을 추가하고 값을 지정합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow storage.size-
각 브로커 Pod에 영구 스토리지에 필요한 PVC(영구 볼륨 클레임)의 크기(바이트)입니다. 이 속성은
persistenceEnabled가true로 설정된 경우에만 적용됩니다. 지정한 값에 바이트 표기법(예: K, M, G) 또는 바이너리 동등한 바이너리(Ki, Mi, Gi)를 사용하는 단위가 포함되어야 합니다.
각 브로커 Pod에 영구 스토리지에 필요한 스토리지 클래스를 지정하려면
스토리지섹션에storageClassName속성을 추가하고 값을 지정합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow storage.storageClassNamePVC(영구 볼륨 클레임)에서 요청할 스토리지 클래스의 이름입니다. 스토리지 클래스는 관리자가 사용 가능한 스토리지를 설명하고 분류할 수 있는 방법을 제공합니다. 예를 들어 다른 스토리지 클래스는 특정 서비스 수준, 백업 정책 등에 매핑될 수 있습니다.
스토리지 클래스를 지정하지 않으면 PVC에 의해 클러스터에 구성된 기본 스토리지 클래스가 있는 영구 볼륨이 클레임됩니다.
참고스토리지 클래스를 지정하면 볼륨의 스토리지 클래스가 지정된 스토리지 클래스와 일치하는 경우에만 PVC에서 영구 볼륨을 클레임합니다.
CR 인스턴스를 배포합니다.
OpenShift 명령줄 인터페이스 사용:
- CR 파일을 저장합니다.
브로커 배포를 생성하는 프로젝트로 전환합니다.
oc project <project_name>
$ oc project <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow CR 인스턴스를 생성합니다.
oc create -f <path/to/custom_resource_instance>.yaml
$ oc create -f <path/to/custom_resource_instance>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift 웹 콘솔 사용:
- CR 구성을 완료하면 생성 을 클릭합니다.