6.4. AMQ Broker 버전을 지정하여 브로커 컨테이너 이미지 업그레이드


다음 절차에서는 AMQ Broker 버전을 지정하여 Operator 기반 브로커 배포의 브로커 컨테이너 이미지를 업그레이드하는 방법을 보여줍니다. 예를 들어 Operator를 AMQ Broker 7.10.0으로 업그레이드하는 경우 CR의 spec.upgrades.enabled 속성이 이미 true 로 설정되고 spec.version 속성은 7.9.0 을 지정합니다. 브로커 컨테이너 이미지를 업그레이드 하려면 새 AMQ Broker 버전(예: 7.10.0)을 수동으로 지정해야 합니다. 새 버전의 AMQ Broker를 지정하면 Operator에서 이 버전에 해당하는 브로커 컨테이너 이미지를 자동으로 선택합니다.

사전 요구 사항

  • 2.4절. “Operator에서 컨테이너 이미지를 선택하는 방법” 에 설명된 대로 CR을 배포하고 브로커 컨테이너 이미지를 명시적으로 지정하지 않으면 Operator에서 사용할 적절한 컨테이너 이미지를 자동으로 선택합니다. 이 섹션에 설명된 업그레이드 프로세스를 사용하려면 이 기본 동작을 사용해야 합니다. CR에 브로커 컨테이너 이미지를 직접 지정하여 기본 동작을 재정의하는 경우 Operator는 아래에 설명된 대로 AMQ Broker 버전에 해당하도록 브로커 컨테이너 이미지를 자동으로 업그레이드할 수 없습니다.

절차

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

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

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

        $ oc login -u <user> -p <password> --server=<host:port>
      2. 텍스트 편집기에서 브로커 배포에 사용한 CR 파일을 엽니다. 예를 들어 이전에 다운로드 및 추출한 Operator 설치 아카이브의 deploy/crs 디렉터리에 포함된 broker_activemqartemis_cr.yaml 파일이 될 수 있습니다.
    2. OpenShift Container Platform 웹 콘솔 사용:

      1. 브로커 배포를 위해 프로젝트에 CR을 편집하고 배포할 수 있는 권한이 있는 사용자로 콘솔에 로그인합니다.
      2. 왼쪽 창에서 Administration Custom Resource Definitions 를 클릭합니다.
      3. ActiveMQArtemis CRD를 클릭합니다.
      4. Instances 탭을 클릭합니다.
      5. 프로젝트 네임스페이스에 해당하는 CR 인스턴스를 찾습니다.
      6. CR 인스턴스의 경우 오른쪽에 있는 More Options 아이콘(여러 개의 수직점)을 클릭합니다. Edit ActiveMQArtemis 를 선택합니다.

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

  2. 브로커 컨테이너 이미지를 업그레이드할 AMQ Broker 버전을 지정하려면 CR의 spec.version 속성 값을 설정합니다. 예를 들면 다음과 같습니다.

    spec:
        version: 7.10.0
        ...
  3. CR의 spec 섹션에서 upgrades 섹션을 찾습니다. 이 섹션이 CR에 아직 포함되지 않은 경우 추가합니다.

    spec:
        version: 7.10.0
        ...
        upgrades:
  4. upgrades 섹션에 enabledminor 속성이 포함되어 있는지 확인합니다.

    spec:
        version: 7.10.0
        ...
        upgrades:
            enabled:
            minor:
  5. AMQ Broker의 지정된 버전을 기반으로 브로커 컨테이너 이미지를 업그레이드하려면 enabled 속성 값을 true 로 설정합니다.

    spec:
        version: 7.10.0
        ...
        upgrades:
            enabled: true
            minor:
  6. 브로커의 업그레이드 동작을 정의하려면 마이너 속성 값을 설정합니다.

    1. 마이너 AMQ Broker 버전 간 업그레이드를 허용하려면 minor 값을 true 로 설정합니다.

      spec:
          version: 7.10.0
          ...
          upgrades:
              enabled: true
              minor: true

      예를 들어 현재 브로커 컨테이너 이미지가 7.9.0 에 해당하고 spec.version 에 지정된 7.10.0 버전에 해당하는 새 이미지를 사용할 수 있다고 가정합니다. 이 경우 Operator는 7.9.07.10.0 마이너 버전 간에 사용 가능한 업그레이드가 있는지 확인합니다. 마이너 버전 간 업그레이드를 허용하는 이전 설정을 기반으로 Operator는 브로커 컨테이너 이미지를 업그레이드합니다.

      대조적으로 현재 브로커 컨테이너 이미지가 7.10.0 에 해당하고 spec.version 에 대해 7.10.1 값을 지정한다고 가정합니다. 7.10.1 에 해당하는 이미지가 있는 경우 Operator는 7.10.07.10.1 마이크로 버전 간에 사용 가능한 업그레이드가 있는지 확인합니다. 마이너 버전 간에만 업그레이드할 수 있는 위 설정을 기반으로 Operator 는 브로커 컨테이너 이미지를 업그레이드하지 않습니다.

    2. 마이크로 AMQ Broker 버전 간 업그레이드를 허용하려면 minor 값을 false 로 설정합니다.

      spec:
          version: 7.10.0
          ...
          upgrades:
              enabled: true
              minor: false

      예를 들어 현재 브로커 컨테이너 이미지가 7.9.0 에 해당하고 spec.version 에 지정된 7.10.0 버전에 해당하는 새 이미지를 사용할 수 있다고 가정합니다. 이 경우 Operator는 7.9.07.10.0 마이너 버전 간에 사용 가능한 업그레이드가 있는지 확인합니다. 이전 설정을 기반으로 마이너 버전(즉 마이크로 버전 간만) 간 업그레이드를 허용하지 않는 이전 설정에 따라 Operator 는 브로커 컨테이너 이미지를 업그레이드하지 않습니다.

      대조적으로 현재 브로커 컨테이너 이미지가 7.10.0 에 해당하고 spec.version 에 대해 7.10.1 값을 지정한다고 가정합니다. 7.10.1 에 해당하는 이미지가 있는 경우 Operator는 7.10.07.10.1 마이크로 버전 간에 사용 가능한 업그레이드가 있는지 확인합니다. 마이크로 버전 간에 업그레이드할 수 있는 위 설정을 기반으로 Operator는 브로커 컨테이너 이미지를 업그레이드합니다.

  7. CR에 변경 사항을 적용합니다.

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

      1. CR 파일을 저장합니다.
      2. 브로커 배포를 위해 프로젝트로 전환합니다.

        $ oc project <project_name>
      3. CR을 적용합니다.

        $ oc apply -f <path/to/broker_custom_resource_instance>.yaml
    2. OpenShift 웹 콘솔 사용:

      1. CR 편집을 마쳤으면 저장 을 클릭합니다.

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

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

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

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

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.