2.7. Operator에서 컨테이너 이미지를 선택하는 방법
CR에 spec.deploymentPlan.image 및 spec.deployment.Plan.initImage 속성이 포함되어 있지 않은 경우 Operator는 Operator에서 배포할 특정 컨테이너 이미지의 레지스트리 URL을 지정합니다.
OpenShift 명령줄 인터페이스를 사용하여 Operator를 설치하는 경우 Operator 설치 아카이브에 broker_activemqartemis_cr.yaml 이라는 샘플 CR 파일이 포함되어 있습니다. 샘플 CR에서 spec.deploymentPlan.image 속성이 포함되고 자리 표시자 의 기본값으로 설정됩니다. 이 값은 CR을 배포할 때까지 Operator가 브로커 컨테이너 이미지를 선택하지 않음을 나타냅니다.
Init Container 이미지를 지정하는 spec.deploymentPlan.initImage 속성은 broker_activemqartemis_cr.yaml 샘플 CR 파일에 포함되지 않습니다. CR에 spec.deploymentPlan.initImage 속성을 명시적으로 포함하지 않고 값을 지정하지 않으면 Operator는 선택한 Operator 컨테이너 이미지와 일치하는 기본 제공 Init Container 이미지를 선택합니다.
브로커 및 Init Container 이미지를 선택하기 위해 Operator는 먼저 필요한 이미지의 AMQ Broker 버전을 결정합니다. Operator는 spec.version 속성 값에서 버전을 가져옵니다. spec.version 속성이 설정되지 않은 경우 Operator는 AMQ Broker에 최신 버전의 이미지를 사용합니다.
그러면 Operator에서 컨테이너 플랫폼을 감지합니다. AMQ Broker Operator는 다음 컨테이너 플랫폼에서 실행할 수 있습니다.
- OpenShift Container Platform (x86_64)
- IBM Z의 OpenShift Container Platform (s390x)
- IBM Power Systems의 OpenShift Container Platform (ppc64le)
Operator는 AMQ Broker 버전과 컨테이너 플랫폼을 기반으로 operator.yaml 구성 파일에서 두 가지 환경 변수 세트를 참조합니다. 이러한 환경 변수 세트는 다음 섹션에 설명된 대로 다양한 버전의 AMQ Broker에 대해 broker 및 Init Container 이미지를 지정합니다.
2.7.1. 브로커 및 init 컨테이너 이미지의 환경 변수 링크 복사링크가 클립보드에 복사되었습니다!
operator.yaml 에 포함된 환경 변수에는 다음과 같은 명명 규칙이 있습니다.
| 컨테이너 플랫폼 | 규칙 이름 지정 |
|---|---|
| OpenShift Container Platform |
|
| IBM Z의 OpenShift Container Platform |
|
| IBM Power Systems의 OpenShift Container Platform |
|
다음은 지원되는 각 컨테이너 플랫폼에 대한 브로커 및 init 컨테이너 이미지의 환경 변수 이름의 예입니다.
| 컨테이너 플랫폼 | 환경 변수 이름 |
|---|---|
| OpenShift Container Platform |
|
| IBM Z의 OpenShift Container Platform |
|
| IBM Power Systems의 OpenShift Container Platform |
|
각 환경 변수의 값은 Red Hat에서 사용할 수 있는 컨테이너 이미지의 주소를 지정합니다. 이미지 이름은SHA( Secure Hash Algorithm ) 값으로 표시됩니다. 예를 들면 다음과 같습니다.
- name: RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_7123 value: registry.redhat.io/amq7/amq-broker-rhel8@sha256:55ae4e28b100534d63c34ab86f69230d274c999d46d1493f26fe3e75ba7a0cec
- name: RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_7123
value: registry.redhat.io/amq7/amq-broker-rhel8@sha256:55ae4e28b100534d63c34ab86f69230d274c999d46d1493f26fe3e75ba7a0cec
따라서 AMQ Broker 버전과 컨테이너 플랫폼을 기반으로 Operator는 브로커 및 init 컨테이너에 적용 가능한 환경 변수 이름을 결정합니다. Operator는 브로커 컨테이너를 시작할 때 해당 이미지 값을 사용합니다.
추가 리소스
- AMQ Broker Operator를 사용하여 브로커 배포를 생성하는 방법을 알아보려면 3장. AMQ Broker Operator를 사용하여 OpenShift Container Platform에 AMQ Broker 배포 를 참조하십시오.
- Operator에서 Init Container를 사용하여 브로커 구성을 생성하는 방법에 대한 자세한 내용은 4.1절. “Operator에서 브로커 구성을 생성하는 방법” 을 참조하십시오.
- 사용자 정의 Init Container 이미지를 빌드하고 지정하는 방법을 알아보려면 4.11절. “사용자 정의 Init Container 이미지 지정” 를 참조하십시오.