3.2. CLI를 사용하여 Operator 설치


참고

각 Operator 릴리스에서는 아래에 설명된 대로 최신 AMQ Broker 7.12.3 Operator 설치 및 예제 파일을 다운로드해야 합니다.

이 섹션의 절차에서는 OpenShift CLI(명령줄 인터페이스)를 사용하여 지정된 OpenShift 프로젝트에서 AMQ Broker 7.12의 최신 버전을 설치하고 배포하는 방법을 보여줍니다. 후속 절차에서는 이 Operator를 사용하여 일부 브로커 인스턴스를 배포합니다.

3.2.1. Operator 배포 준비

CLI를 사용하여 Operator를 배포하기 전에 Operator 설치 파일을 다운로드하고 배포를 준비해야 합니다.

프로세스

  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-7.12.3-ocp-install-examples-rhel8.zip
    Copy to Clipboard Toggle word wrap
  6. 아카이브를 추출할 때 생성된 디렉터리로 전환합니다. 예를 들면 다음과 같습니다.

    $ cd amq-broker-operator-7.12.3-ocp-install-examples
    Copy to Clipboard Toggle word wrap
  7. 클러스터 관리자로 OpenShift Container Platform에 로그인합니다. 예를 들면 다음과 같습니다.

    $ oc login -u system:admin
    Copy to Clipboard Toggle word wrap
  8. Operator를 설치할 프로젝트를 지정합니다. 새 프로젝트를 생성하거나 기존 프로젝트로 전환할 수 있습니다.

    1. 새 프로젝트를 생성합니다.

      $ oc new-project <project_name>
      Copy to Clipboard Toggle word wrap
    2. 또는 기존 프로젝트로 전환합니다.

      $ oc project <project_name>
      Copy to Clipboard Toggle word wrap
  9. Operator와 함께 사용할 서비스 계정을 지정합니다.

    1. 추출한 Operator 아카이브의 배포 디렉터리에서 service_account.yaml 파일을 엽니다.
    2. kind 요소가 ServiceAccount 로 설정되어 있는지 확인합니다.
    3. 기본 서비스 계정 이름을 변경하려면 metadata 섹션에서 amq-broker-controller-manager 를 사용자 지정 이름으로 교체합니다.
    4. 프로젝트에서 서비스 계정을 생성합니다.

      $ oc create -f deploy/service_account.yaml
      Copy to Clipboard Toggle word wrap
  10. Operator의 역할 이름을 지정합니다.

    1. role.yaml 파일을 엽니다. 이 파일은 Operator가 사용하고 수정할 수 있는 리소스를 지정합니다.
    2. kind 요소가 Role 로 설정되어 있는지 확인합니다.
    3. 기본 역할 이름을 변경하려면 metadata 섹션에서 amq-broker-operator-role 을 사용자 지정 이름으로 교체합니다.
    4. 프로젝트에서 역할을 생성합니다.

      $ oc create -f deploy/role.yaml
      Copy to Clipboard Toggle word wrap
  11. Operator에 대한 역할 바인딩을 지정합니다. 역할 바인딩은 지정한 이름에 따라 이전에 생성된 서비스 계정을 Operator 역할에 바인딩합니다.

    1. role_binding.yaml 파일을 엽니다.
    2. ServiceAccountRolename 값이 service_account.yamlrole.yaml 파일에 지정된 값과 일치하는지 확인합니다. 예를 들면 다음과 같습니다.

      metadata:
          name: amq-broker-operator-rolebinding
      subjects:
          kind: ServiceAccount
          name: amq-broker-controller-manager
      roleRef:
          kind: Role
          name: amq-broker-operator-role
      Copy to Clipboard Toggle word wrap
    3. 프로젝트에 역할 바인딩을 생성합니다.

      $ oc create -f deploy/role_binding.yaml
      Copy to Clipboard Toggle word wrap
  12. Operator의 리더 선택 역할 바인딩을 지정합니다. 역할 바인딩은 지정한 이름에 따라 이전에 생성된 서비스 계정을 리더 선택 역할에 바인딩합니다.

    1. Operator에 대한 리더 선택 역할을 생성합니다.

      $ oc create -f deploy/election_role.yaml
      Copy to Clipboard Toggle word wrap
    2. 프로젝트에서 리더 선택 역할 바인딩을 생성합니다.

      $ oc create -f deploy/election_role_binding.yaml
      Copy to Clipboard Toggle word wrap
  13. (선택 사항) Operator에서 여러 네임스페이스를 조사하려면 다음 단계를 완료합니다.

    참고

    OpenShift Container Platform 클러스터에 AMQ Broker용 Operator가 이미 포함된 경우 새 Operator에서 기존 Operator와 동일한 네임스페이스를 감시하지 않아야 합니다. 기존 Operator에서 조사하는 네임스페이스를 식별하는 방법에 대한 자세한 내용은 기존 Operator 에서 조사한 네임스페이스 식별을 참조하십시오.

    1. 다운로드 및 추출한 Operator 아카이브의 배포 디렉터리에서 operator_yaml 파일을 엽니다.
    2. Operator에서 클러스터의 모든 네임스페이스를 조사하려면 WATCH_NAMESPACE 섹션에서 value 속성을 추가하고 값을 별표로 설정합니다. WATCH_NAMESPACE 섹션에서 기존 속성을 주석 처리합니다. 예를 들면 다음과 같습니다.

      - name: WATCH_NAMESPACE
        value: "*"
      # valueFrom:
      #   fieldRef:
      #     fieldPath: metadata.namespace
      Copy to Clipboard Toggle word wrap
      참고

      충돌을 방지하려면 여러 Operator가 동일한 네임스페이스를 감시하지 않도록 합니다. 예를 들어 클러스터의 모든 네임스페이스를 조사하기 위해 Operator를 배포하는 경우 다른 Operator를 배포하여 개별 네임스페이스를 조사할 수 없습니다. Operator가 이미 클러스터에 배포된 경우 다음 단계에 설명된 대로 새 Operator에서 조사하는 네임스페이스 목록을 지정할 수 있습니다.

    3. Operator에서 WATCH_NAMESPACE 섹션에서 클러스터의 여러 네임스페이스를 조사하지만 모두 조사하려면 네임스페이스 목록을 지정합니다. 기존 Operator에서 조사하는 네임스페이스를 제외해야 합니다. 예를 들면 다음과 같습니다.

      - name: WATCH_NAMESPACE
        value: "namespace1, namespace2"`.
      Copy to Clipboard Toggle word wrap
    4. 다운로드 및 추출한 Operator 아카이브의 배포 디렉터리에서 cluster_role_binding.yaml 파일을 엽니다.
    5. 주체 섹션에서 Operator를 배포하는 OpenShift Container Platform 프로젝트에 해당하는 네임스페이스를 지정합니다. 예를 들면 다음과 같습니다.

      Subjects:
      - kind: ServiceAccount
        name: amq-broker-controller-manager
        namespace: operator-project
      Copy to Clipboard Toggle word wrap
      참고

      이전 버전의 Operator를 사용하여 이전에 브로커를 배포하고 Operator를 배포하여 여러 네임스페이스를 조사하려면 업그레이드하기 전에 를 참조하십시오.

    6. 프로젝트에 클러스터 역할을 생성합니다.

      $ oc create -f deploy/cluster_role.yaml
      Copy to Clipboard Toggle word wrap
    7. 프로젝트에 클러스터 역할 바인딩을 생성합니다.

      $ oc create -f deploy/cluster_role_binding.yaml
      Copy to Clipboard Toggle word wrap

다음 절차에서는 프로젝트에 Operator를 배포합니다.

3.2.2. CLI를 사용하여 Operator 배포

이 섹션의 절차에서는 OpenShift CLI(명령줄 인터페이스)를 사용하여 OpenShift 프로젝트에서 AMQ Broker 7.12용 최신 버전의 Operator를 배포하는 방법을 보여줍니다.

사전 요구 사항

  • Operator 배포를 위한 OpenShift 프로젝트를 이미 준비해야 합니다. 3.2.1절. “Operator 배포 준비”을 참조하십시오.
  • AMQ Broker 7.3부터 새 버전의 Red Hat Ecosystem Catalog를 사용하여 컨테이너 이미지에 액세스합니다. 이 새 버전의 레지스트리를 사용하려면 이미지에 액세스하기 전에 인증된 사용자가되어야 합니다. 이 섹션의 절차를 수행하려면 먼저 Red Hat Container Registry Authentication 에 설명된 단계를 완료해야 합니다.
  • 영구 스토리지로 브로커를 배포하고 OpenShift 클러스터에 컨테이너 네이티브 스토리지가 없는 경우 PV(영구 볼륨)를 수동으로 프로비저닝하고 Operator에서 클레임할 수 있는지 확인해야 합니다. 예를 들어 영구 스토리지가 있는 두 브로커의 클러스터를 생성하려면(즉, Custom Resource에서 persistenceEnabled=true 를 설정하여) 두 개의 PV를 사용할 수 있어야 합니다. 기본적으로 각 브로커 인스턴스에는 2GiB의 스토리지가 필요합니다.

    사용자 정의 리소스에서 persistenceEnabled=false 를 지정하면 배포된 브로커는 임시 스토리지를 사용합니다. 임시 스토리지는 브로커 포드를 다시 시작할 때마다 기존 데이터가 손실됩니다.

    영구 스토리지 프로비저닝에 대한 자세한 내용은 다음을 참조하십시오.

프로세스

  1. OpenShift CLI(명령줄 인터페이스)에서 OpenShift에 클러스터 관리자로 로그인합니다. 예를 들면 다음과 같습니다.

    $ oc login -u system:admin
    Copy to Clipboard Toggle word wrap
  2. 이전에 Operator 배포를 위해 준비한 프로젝트로 전환합니다. 예를 들면 다음과 같습니다.

    $ oc project <project_name>
    Copy to Clipboard Toggle word wrap
  3. 이전에 Operator 설치 아카이브를 추출할 때 생성된 디렉터리로 전환합니다. 예를 들면 다음과 같습니다.

    $ cd ~/broker/operator/amq-broker-operator-7.12.3-ocp-install-examples
    Copy to Clipboard Toggle word wrap
  4. Operator에 포함된 CRD를 배포합니다. Operator를 배포하고 시작하기 전에 OpenShift 클러스터에 CRD를 설치해야 합니다.

    1. 기본 브로커 CRD를 배포합니다.

      $ oc create -f deploy/crds/broker_activemqartemis_crd.yaml
      Copy to Clipboard Toggle word wrap
    2. 주소 CRD를 배포합니다.

      $ oc create -f deploy/crds/broker_activemqartemisaddress_crd.yaml
      Copy to Clipboard Toggle word wrap
    3. scaledown 컨트롤러 CRD를 배포합니다.

      $ oc create -f deploy/crds/broker_activemqartemisscaledown_crd.yaml
      Copy to Clipboard Toggle word wrap
    4. 보안 CRD를 배포합니다.

      $ oc create -f deploy/crds/broker_activemqartemissecurity_crd.yaml
      Copy to Clipboard Toggle word wrap
  5. Red Hat Ecosystem Catalog에서 인증에 사용되는 계정과 연결된 풀 시크릿을 OpenShift 프로젝트의 기본,배포자빌더 서비스 계정으로 연결합니다.

    $ oc secrets link --for=pull default <secret_name>
    $ oc secrets link --for=pull deployer <secret_name>
    $ oc secrets link --for=pull builder <secret_name>
    Copy to Clipboard Toggle word wrap
  6. 다운로드 및 추출한 Operator 아카이브의 배포 디렉터리에서 operator.yaml 파일을 엽니다. 아래 표시된 대로 spec.containers.image 속성 값이 Operator의 7.12.3-opr-1 버전에 해당하는지 확인합니다.

    spec:
        template:
            spec:
                containers:
                    #image: registry.redhat.io/amq7/amq-broker-rhel8-operator:7.10
                    image: registry.redhat.io/amq7/amq-broker-rhel8-operator@sha256:1fd01079ad519e1a47b886893a0635491759ace2f73eda7615a9c8c2f454ba89
    Copy to Clipboard Toggle word wrap
    참고

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

  7. Operator를 배포합니다.

    $ oc create -f deploy/operator.yaml
    Copy to Clipboard Toggle word wrap

    OpenShift 프로젝트에서 Operator는 새 Pod에서 시작됩니다.

    OpenShift Container Platform 웹 콘솔의 Operator Pod의 Events 탭에 대한 정보는 OpenShift가 사용자가 지정한 Operator 이미지를 배포했음을 확인하고, OpenShift 클러스터의 노드에 새 컨테이너를 할당했으며, 새 컨테이너를 시작했습니다.

    또한 Pod에서 로그 탭을 클릭하면 출력에 다음과 같은 행이 포함되어야 합니다.

    ...
    {"level":"info","ts":1553619035.8302743,"logger":"kubebuilder.controller","msg":"Starting Controller","controller":"activemqartemisaddress-controller"}
    {"level":"info","ts":1553619035.830541,"logger":"kubebuilder.controller","msg":"Starting Controller","controller":"activemqartemis-controller"}
    {"level":"info","ts":1553619035.9306898,"logger":"kubebuilder.controller","msg":"Starting workers","controller":"activemqartemisaddress-controller","worker count":1}
    {"level":"info","ts":1553619035.9311671,"logger":"kubebuilder.controller","msg":"Starting workers","controller":"activemqartemis-controller","worker count":1}
    Copy to Clipboard Toggle word wrap

    이전 출력은 새로 배포한 Operator가 Kubernetes와 통신하고, 브로커 및 주소 지정의 컨트롤러가 실행 중인지, 이러한 컨트롤러에서 일부 작업자를 시작했는지 확인합니다.

참고

지정된 OpenShift 프로젝트에 AMQ Broker Operator의 단일 인스턴스 만 배포하는 것이 좋습니다. Operator 배포의 spec.replicas 속성을 1 보다 큰 값으로 설정하거나 동일한 프로젝트에서 Operator를 두 번 이상 배포하는 것은 권장되지 않습니다.

추가 리소스

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동