6.6. 브로커 컨테이너 이미지의 자동 업그레이드 제한


기본적으로 Operator는 관리하는 각 브로커를 Operator 버전에서 지원하는 사용 가능한 최신 컨테이너 이미지로 자동 업그레이드합니다. 배포의 CR(사용자 정의 리소스)에서는 버전 번호 또는 특정 컨테이너 이미지의 URL을 지정하여 Operator에서 이미지를 업그레이드하는 기능을 제한할 수 있습니다.

6.6.1. 버전 번호를 사용하여 이미지 자동 업그레이드 제한

새 버전을 사용할 수 있게 되면 브로커가 자동으로 업그레이드되는 컨테이너 이미지의 버전을 제한할 수 있습니다.

참고

버전 번호를 기반으로 업그레이드를 제한하면 Operator가 배포된 버전에 대한 보안 수정 사항이 포함된 새 이미지를 사용하도록 브로커를 자동으로 업그레이드합니다.

프로세스

  1. 브로커 배포의 기본 브로커 CR 인스턴스를 편집합니다.

    1. OpenShift 명령줄 인터페이스 사용:

      1. 브로커 배포를 위해 프로젝트에서 CR을 편집하고 배포할 수 있는 권한이 있는 사용자로 OpenShift에 로그인합니다.

        $ oc login -u <user> -p <password> --server=<host:port>
        Copy to Clipboard Toggle word wrap
      2. CR을 편집합니다.

         oc edit ActiveMQArtemis <CR instance name> -n <namespace>
        Copy to Clipboard Toggle word wrap
    2. OpenShift Container Platform 웹 콘솔 사용:

      1. 브로커 배포를 위해 프로젝트에 CR을 배포할 권한이 있는 사용자로 콘솔에 로그인합니다.
      2. 왼쪽 창에서 Operators Installed Operator 를 클릭합니다.
      3. Red Hat Integration - AMQ Broker for RHEL 8 (Multiarch) Operator를 클릭합니다.
      4. AMQ Broker 탭을 클릭합니다.
      5. ActiveMQArtemis 인스턴스 이름의 이름을 클릭합니다.
      6. YAML 탭을 클릭합니다.

        콘솔에서 YAML 편집기가 열리고 CR 인스턴스를 편집할 수 있습니다.

        참고

        CR의 status 섹션에서 .status.version.brokerVersion 필드에 현재 배포된 AMQ Broker 버전이 표시됩니다.

  2. spec.version 속성에서 Operator가 배포의 브로커 및 init 컨테이너 이미지를 업그레이드할 수 있는 버전을 지정합니다. 다음은 지정할 수 있는 값의 예입니다.

    다음 예에서 Operator는 배포의 현재 컨테이너 이미지를 7.12.0으로 업그레이드합니다.

    spec:
       version: '7.12.0'
        ...
    Copy to Clipboard Toggle word wrap

    다음 예에서 Operator는 배포의 현재 컨테이너 이미지를 사용 가능한 최신 7.11.x 이미지로 업그레이드합니다. 예를 들어 배포에서 7.11.1 컨테이너 이미지를 사용하는 경우 Operator는 이미지를 7.11.6으로 자동 업그레이드하지만 7.12.3으로 업그레이드하지 않습니다.

    spec:
        version: '7.11'
        ...
    Copy to Clipboard Toggle word wrap

    다음 예에서 Operator는 배포의 현재 컨테이너 이미지를 최신 7.x.x 이미지로 업그레이드합니다. 예를 들어 배포에서 7.11.6 이미지를 사용하는 경우 Operator는 이미지를 7.12.3으로 자동으로 업그레이드합니다.

    spec:
        version: '7'
        ...
    Copy to Clipboard Toggle word wrap
    참고

    컨테이너 이미지의 마이너 버전(예: 7.11.x에서 7.12.x) 간에 업그레이드하려면 새 컨테이너 이미지와 동일한 마이너 버전이 있는 Operator가 필요합니다. 예를 들어 7.11.6에서 7.12.3으로 업그레이드하려면 7.12.x Operator를 설치해야 합니다.

  3. CR을 저장합니다.
중요

CR에서 spec.version 속성을 사용하여 브로커 컨테이너 이미지의 자동 업그레이드를 제한하는 경우 CR에 spec.deploymentPlan.image 또는 spec.deploymentPlan.initImage 속성도 포함되어 있지 않아야 합니다. 이러한 두 속성은 모두 spec.version 속성을 재정의합니다. CR에 이러한 속성 중 하나와 spec.version 속성 중 하나가 있는 경우 배포된 브로커 및 init 이미지의 버전이 다를 수 있으므로 브로커가 실행되지 않을 수 있습니다.

CR을 저장하면 먼저 Operator가 기존 배포에 지정된 AMQ Broker 버전으로의 업그레이드를 사용할 수 있는지 확인합니다. 업그레이드할 잘못된 버전의 AMQ Broker(예: 아직 사용할 수 없는 버전)를 지정한 경우 Operator는 경고 메시지를 기록하고 추가 조치를 수행하지 않습니다.

그러나 지정된 버전으로 업그레이드할 수 있는 경우 Operator 배포의 각 브로커를 업그레이드하여 새 AMQ Broker 버전에 해당하는 브로커 컨테이너 이미지를 사용합니다.

Operator에서 사용하는 브로커 컨테이너 이미지는 Operator 배포의 operator.yaml 구성 파일의 환경 변수에 정의되어 있습니다. 환경 변수 이름에는 AMQ Broker 버전에 대한 식별자가 포함됩니다. 예를 들어 환경 변수 RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_7123 은 AMQ Broker 7.12.3에 해당합니다.

Operator가 CR 변경 사항을 적용하면 배포의 각 브로커 Pod를 재시작하여 각 Pod가 지정된 이미지 버전을 사용하도록 합니다. 배포에 여러 브로커가 있는 경우 한 번에 하나의 브로커 Pod만 종료하고 다시 시작합니다.

추가 리소스

6.6.2. 이미지 URL을 사용하여 이미지 자동 업그레이드 제한

특정 컨테이너 이미지를 사용하도록 배포의 브로커를 업그레이드하려면 CR에서 이미지의 레지스트리 URL을 지정할 수 있습니다. Operator가 브로커를 지정된 컨테이너 이미지로 업그레이드한 후 CR의 이미지 URL을 교체할 때까지 추가 업그레이드가 수행되지 않습니다. 예를 들어 Operator는 배포된 이미지에 대한 보안 수정 사항이 포함된 최신 이미지를 사용하도록 브로커를 자동으로 업그레이드하지 않습니다.

중요

이미지 URL을 사용하여 자동 업그레이드를 제한하려면 CR의 spec.deploymentPlan.imagespec.deploymentPlan.initImage 속성에 대한 URL을 지정하여 브로커 및 init 컨테이너 이미지가 일치하는지 확인합니다. 하나의 컨테이너 이미지의 URL만 지정하면 브로커와 init 컨테이너 이미지가 달라질 수 있으므로 브로커가 실행되지 않을 수 있습니다.

참고

CR에 spec.deploymentPlan.imagespec.deploymentPlan.initImage 속성 외에 spec.version 속성이 있는 경우 Operator는 spec.version 속성을 무시합니다.

프로세스

  1. Operator에서 현재 이미지를 업그레이드할 수 있는 브로커 및 init 컨테이너 이미지의 URL을 가져옵니다.

    1. Red Hat Catalog에서 브로커 컨테이너 구성 요소 페이지: AMQ Broker for RHEL 8(Multiarch) 을 엽니다.
    2. 아키텍처 드롭다운 메뉴에서 아키텍처를 선택합니다.
    3. 태그 드롭다운에서 설치하려는 이미지에 해당하는 태그를 선택합니다. 태그는 릴리스 날짜를 기반으로 하는 시간순으로 표시됩니다. 태그는 릴리스 버전과 할당된 태그로 구성됩니다.
    4. 이 이미지 가져오기 탭을 엽니다.
    5. Manifest 필드에서 복사 아이콘을 클릭합니다.
    6. URL을 텍스트 파일에 붙여넣습니다.
    7. Red Hat Catalog에서 init 컨테이너 구성 요소 페이지를 엽니다. AMQ Broker Init for RHEL 8 (Multiarch)
    8. init 컨테이너 이미지의 URL을 가져오려면 다음 단계를 반복하여 브로커 컨테이너 이미지의 URL을 가져옵니다.
  2. 브로커 배포의 기본 브로커 CR 인스턴스를 편집합니다.

    1. OpenShift 명령줄 인터페이스 사용:

      1. 브로커 배포를 위해 프로젝트에서 CR을 편집하고 배포할 수 있는 권한이 있는 사용자로 OpenShift에 로그인합니다.

        $ oc login -u <user> -p <password> --server=<host:port>
        Copy to Clipboard Toggle word wrap
      2. CR을 편집합니다.

         oc edit ActiveMQArtemis <CR instance name> -n <namespace>
        Copy to Clipboard Toggle word wrap
    2. OpenShift Container Platform 웹 콘솔 사용:

      1. 브로커 배포를 위해 프로젝트에 CR을 배포할 권한이 있는 사용자로 콘솔에 로그인합니다.
      2. 왼쪽 창에서 Operators Installed Operator 를 클릭합니다.
      3. Red Hat Integration - AMQ Broker for RHEL 8 (Multiarch) Operator를 클릭합니다.
      4. AMQ Broker 탭을 클릭합니다.
      5. ActiveMQArtemis 인스턴스 이름의 이름을 클릭합니다.
      6. YAML 탭을 클릭합니다.

        콘솔에서 CR 인스턴스를 구성할 수 있는 YAML 편집기가 열립니다.

    3. 텍스트 파일에 기록한 브로커 및 init 컨테이너 이미지의 URL을 복사하여 CR의 spec.deploymentPlan.imagespec.deploymentPlan.initImage 필드에 삽입합니다. 예를 들면 다음과 같습니다.

      spec:
        ...
        deploymentPlan:
          image: registry.redhat.io/amq7/amq-broker-rhel8@55ae4e28b100534d63c34ab86f69230d274c999d46d1493f26fe3e75ba7a0cec
          initImage: registry.redhat.io/amq7/amq-broker-init-rhel8@442339c33549f2be9fe3b5c71184a753a3cf10b000b2ecc5bc9a062dd91c8def
        ...
      Copy to Clipboard Toggle word wrap
  3. CR을 저장합니다.

    CR을 저장하면 Operator는 새 이미지를 사용하도록 브로커를 업그레이드하고 spec.deploymentPlan.imagespec.deploymentPlan.initImage 속성 값을 다시 업데이트할 때까지 이러한 이미지를 사용합니다.

  4. 향후 Operator 업그레이드가 배포에서 브로커를 다시 시작하지 못하도록 하려면 CR을 편집하고 spec.version 속성에 배포된 브로커의 버전 번호를 지정합니다.

    spec.version 속성이 CR에 구성되지 않은 경우 Operator의 후속 업그레이드로 브로커 Pod가 다시 시작됩니다. spec.version 속성에 버전 번호를 명시적으로 설정하지 않는 한 새 Operator에서 지원되는 최신 브로커 버전을 StatefulSet의 라벨에 추가하므로 Pod를 다시 시작해야 합니다.

    브로커를 시작한 후 CR의 status 섹션에서 spec.version 속성에 지정할 버전 번호 값을 찾을 수 있습니다. 자세한 내용은 브로커 배포에 대한 상태 정보 보기를 참조하십시오.

참고

이미지 URL을 설정하지 않고 AMQ Broker를 이미 배포한 경우 Operator가 배포된 현재 이미지를 업그레이드하지 못하도록 이미지 URL을 다시 설정할 수 있습니다. CR의 status 섹션에 있는 .status.version.image.status.version.initImage 속성에 배포된 이미지의 레지스트리 URL을 찾을 수 있습니다.

.status.version.image.status.version.initImage 속성에서 이미지 URL을 복사하여 spec.deploymentPlan.imagespec.deploymentPlan.initImage 속성에 각각 삽입하면 Operator는 현재 배포된 이미지를 업그레이드하지 않습니다.

추가 리소스

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동