6.4. CLI를 사용하여 Operator 수동 업그레이드


이 섹션의 절차에서는 OpenShift CLI(명령줄 인터페이스)를 사용하여 Operator의 다른 버전을 AMQ Broker 7.12에 사용할 수 있는 최신 버전으로 업그레이드하는 방법을 보여줍니다.

6.4.1. 사전 요구 사항

  • CLI를 사용하여 Operator를 처음 설치한 경우에만 Operator를 업그레이드합니다. 원래 OperatorHub를 사용하여 Operator를 설치했습니다(즉, Operator가 OpenShift Container Platform 웹 콘솔의 프로젝트에 Operator 설치된 Operator에 표시됨) OperatorHub를 사용하여 Operator를 업그레이드합니다. OperatorHub를 사용하여 Operator를 업그레이드하는 방법을 알아보려면 6.3절. “OperatorHub를 사용하여 Operator 수동 업그레이드” 을 참조하십시오.

6.4.2. CLI를 사용하여 Operator 업그레이드

OpenShift CLI(명령줄 인터페이스)를 사용하여 Operator를 AMQ Broker 7.12의 최신 버전으로 업그레이드할 수 있습니다.

프로세스

  1. 웹 브라우저에서 AMQ Broker 7.12.3소프트웨어 다운로드 페이지로 이동합니다.
  2. 버전 드롭다운 목록의 값이 7.12.3 으로 설정되고 릴리스 탭이 선택되어 있는지 확인합니다.
  3. AMQ Broker 7.12.3 Operator 설치 및 예제 파일 옆에 있는 Download 를 클릭합니다.

    amq-broker-operator-7.12.3-ocp-install-examples-rhel8.zip 압축 아카이브가 자동으로 시작됩니다.

  4. 다운로드가 완료되면 아카이브를 선택한 설치 디렉터리로 이동합니다. 다음 예제에서는 아카이브를 ~/broker/operator 라는 디렉터리로 이동합니다.

    $ mkdir ~/broker/operator
    $ mv amq-broker-operator-7.12.3-ocp-install-examples-rhel8.zip ~/broker/operator
    Copy to Clipboard Toggle word wrap
  5. 선택한 설치 디렉터리에서 아카이브의 내용을 추출합니다. 예를 들면 다음과 같습니다.

    $ cd ~/broker/operator
    $ unzip amq-broker-operator-operator-7.12.3-ocp-install-examples-rhel8.zip
    Copy to Clipboard Toggle word wrap
  6. 기존 Operator 배포가 포함된 프로젝트의 관리자로 OpenShift Container Platform에 로그인합니다.

    $ oc login -u <user>
    Copy to Clipboard Toggle word wrap
  7. Operator 버전을 업그레이드하려는 OpenShift 프로젝트로 전환합니다.

    $ oc project <project-name>
    Copy to Clipboard Toggle word wrap
  8. 다운로드 및 추출한 최신 Operator 아카이브의 배포 디렉터리에서 operator.yaml 파일을 엽니다.

    참고

    operator.yaml 파일에서 Operator는 SHA( Secure Hash Algorithm ) 값으로 표시되는 이미지를 사용합니다. 숫자 기호(#) 기호로 시작하는 주석 행은 SHA 값이 특정 컨테이너 이미지 태그에 해당함을 나타냅니다.

  9. 이전 Operator 배포를 위해 operator.yaml 파일을 엽니다. 이전 구성에서 지정한 기본값이 아닌 모든 값이 operator.yaml 구성 파일에 복제되었는지 확인합니다.
  10. operator.yaml 파일에서 Operator의 이름은 기본적으로 amq-broker-controller-manager 입니다. 이전 배포의 Operator 이름이 amq-broker-controller-manager 가 아닌 경우 amq-broker-controller-manager 의 모든 인스턴스를 이전 Operator 이름으로 교체합니다. 예를 들면 다음과 같습니다.

    spec:
      ...
      selector
        matchLabels
          name: amq-broker-operator
      ...
    Copy to Clipboard Toggle word wrap
  11. operator.yaml 파일에서 Operator의 서비스 계정 이름은 amq-broker-controller-manager 입니다. 이전 버전에서는 Operator의 서비스 계정 이름은 amq-broker-operator 였습니다.

    1. 이전 배포에서 서비스 계정 이름을 사용하려면 operator.yaml 파일의 서비스 계정 이름을 이전 배포에서 사용된 이름으로 교체합니다. 예를 들면 다음과 같습니다.

      spec:
        ...
        serviceAccountName: amq-broker-operator
        ...
      Copy to Clipboard Toggle word wrap
    2. 새 서비스 계정 이름, amq-broker-controller-manager 를 Operator에 사용하려면 프로젝트에서 서비스 계정, 역할 및 역할 바인딩을 업데이트합니다.

      $ oc apply -f deploy/service_account.yaml
      Copy to Clipboard Toggle word wrap
      $ oc apply -f deploy/role.yaml
      Copy to Clipboard Toggle word wrap
      $ oc apply -f deploy/role_binding.yaml
      Copy to Clipboard Toggle word wrap
  12. Operator에 포함된 CRD를 업데이트합니다.

    1. 기본 브로커 CRD를 업데이트합니다.

      $ oc apply -f deploy/crds/broker_activemqartemis_crd.yaml
      Copy to Clipboard Toggle word wrap
    2. 주소 CRD를 업데이트합니다.

      $ oc apply -f deploy/crds/broker_activemqartemisaddress_crd.yaml
      Copy to Clipboard Toggle word wrap
    3. scaledown 컨트롤러 CRD를 업데이트합니다.

      $ oc apply -f deploy/crds/broker_activemqartemisscaledown_crd.yaml
      Copy to Clipboard Toggle word wrap
    4. 보안 CRD를 업데이트합니다.

      $ oc apply -f deploy/crds/broker_activemqartemissecurity_crd.yaml
      Copy to Clipboard Toggle word wrap
  13. AMQ Broker Operator 7.10.0에서만 업그레이드하는 경우 Operator 및 StatefulSet을 삭제합니다.

    기본적으로 새 Operator는 StatefulSet을 삭제하여 사용자 정의 및 Operator 미터링 레이블을 제거합니다. 이 레이블은 7.10.0의 Operator에서 StatefulSet 선택기에 잘못 추가되었습니다. Operator가 StatefulSet을 삭제하면 기존 브로커 Pod도 삭제되어 임시 브로커가 중단됩니다. 중단을 방지하려면 브로커 Pod를 삭제하지 않고 Operator 및 StatefulSet을 삭제하려면 다음 단계를 완료합니다.

    1. Operator를 삭제합니다.

      $ oc delete -f deploy/operator.yaml
      Copy to Clipboard Toggle word wrap
      참고

      Operator를 삭제해도 Operator에서 관리하는 브로커 인스턴스는 제거되지 않습니다.

    2. --cascade=orphan 옵션을 사용하여 StatefulSet을 삭제하여 브로커 Pod를 분리합니다. 분리된 브로커 Pod는 StatefulSet이 삭제된 후에도 계속 실행됩니다.

      $ oc delete statefulset <statefulset-name> --cascade=orphan
      Copy to Clipboard Toggle word wrap
  14. AMQ Broker Operator 7.10.0 또는 7.10.1에서 업그레이드하는 경우 기본 브로커 CR에 deploymentPlan.labels 속성에 구성된 애플리케이션 또는 ActiveMQArtemis 라는 레이블이 있는지 확인합니다.

    이러한 라벨은 Operator가 Pod에 라벨을 할당하도록 예약되며 7.10.1 이후 사용자 정의 라벨로 허용되지 않습니다. 이러한 사용자 정의 레이블이 기본 브로커 CR에 구성된 경우 Pod의 Operator가 사용자 정의 라벨을 덮어씁니다. 이러한 사용자 정의 라벨 중 하나가 기본 브로커 CR에 구성된 경우 다음 단계를 완료하여 Pod에서 올바른 라벨을 복원하고 CR에서 라벨을 제거합니다.

    1. 7.10.0에서 업그레이드하는 경우 이전 단계에서 Operator를 삭제했습니다. 7.10.1에서 업그레이드하는 경우 Operator를 삭제합니다.

      $ oc delete -f deploy/operator.yaml
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 올바른 Pod 레이블을 복원합니다. 다음 예에서 'ex-aao'는 배포된 StatefulSet의 이름입니다.

      $ for pod in $(oc get pods | grep -o '^ex-aao[^ ]*'); do oc label --overwrite pods $pod ActiveMQArtemis=ex-aao application=ex-aao-app; done
      Copy to Clipboard Toggle word wrap
    3. CR의 deploymentPlan.labels 속성에서 애플리케이션ActiveMQArtemis 레이블을 삭제합니다.

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

        oc login -u <user> -p <password> --server=<host:port>
        Copy to Clipboard Toggle word wrap
      2. 다운로드 및 추출한 Operator 설치 아카이브의 deploy/crs 디렉터리에 포함된 broker_activemqartemis_cr.yaml 이라는 샘플 CR 파일을 엽니다.
      3. CR의 deploymentPlan.labels 속성에서 application 또는 ActiveMQArtemis 라는 사용자 지정 레이블을 삭제합니다.
      4. CR 파일을 저장합니다.
      5. CR 인스턴스를 배포합니다.

        1. 브로커 배포를 위해 프로젝트로 전환합니다.

          $ oc project <project_name>
          Copy to Clipboard Toggle word wrap
        2. CR을 적용합니다.

          $ oc apply -f <path/to/broker_custom_resource_instance>.yaml
          Copy to Clipboard Toggle word wrap
    4. 이전 Operator를 삭제한 경우 새 Operator를 배포합니다.

       $ oc create -f deploy/operator.yaml
      Copy to Clipboard Toggle word wrap
  15. 업데이트된 Operator 구성을 적용합니다.

    $ oc apply -f deploy/operator.yaml
    Copy to Clipboard Toggle word wrap
  16. 필요에 따라 업그레이드된 브로커에서 사용할 수 있는 새로운 기능의 CR에 속성을 추가합니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동