11.2. 베어 메탈 이벤트 작동 방식

Bare Metal Event Relay를 사용하면 베어 메탈 클러스터에서 실행되는 애플리케이션이 온도 임계값, 팬 장애, 디스크 손실, 정전 및 메모리 장애와 같은 Redfish 하드웨어 변경 및 오류에 신속하게 대응할 수 있습니다. 이러한 하드웨어 이벤트는 AMQP(Advanced Message Queuing Protocol)를 기반으로 안정적인 대기 시간이 짧은 전송 채널을 통해 제공됩니다. 메시징 서비스의 대기 시간은 10-20밀리초 사이입니다.

Bare Metal Event Relay는 하드웨어 이벤트에 대한 게시-구독 서비스를 제공합니다. 이 경우 여러 애플리케이션이 REST API를 사용하여 이벤트를 구독하고 사용할 수 있습니다. Bare Metal Event Relay는 Redfish OpenAPI v1.8 이상을 준수하는 하드웨어를 지원합니다.

11.2.1. Bare Metal Event Relay 데이터 흐름

다음 그림은 베어 메탈 이벤트 데이터 흐름의 예를 보여줍니다.

그림 11.1. Bare Metal Event Relay 데이터 흐름

베어 메탈 이벤트 데이터 흐름

11.2.1.1. Operator에서 관리하는 Pod

Operator는 사용자 정의 리소스를 사용하여 Bare Metal Event Relay 및 HardwareEvent CR을 사용하여 해당 구성 요소가 포함된 Pod를 관리합니다.

11.2.1.2. Bare Metal Event Relay

시작 시 Bare Metal Event Relay는 Redfish API를 쿼리하고 사용자 정의 레지스트리를 포함한 모든 메시지 레지스트리를 다운로드합니다. 그런 다음 Bare Metal Event Relay가 Redfish 하드웨어에서 서브스크립션된 이벤트를 수신하기 시작합니다.

Bare Metal Event Relay를 사용하면 베어 메탈 클러스터에서 실행되는 애플리케이션이 온도 임계값, 팬 장애, 디스크 손실, 정전 및 메모리 장애와 같은 Redfish 하드웨어 변경 및 오류에 신속하게 대응할 수 있습니다. 이벤트는 HardwareEvent CR을 사용하여 보고됩니다.

11.2.1.3. 클라우드 네이티브 이벤트

클라우드 네이티브 이벤트(CNE)는 이벤트 데이터 형식을 정의하는 REST API 사양입니다.

11.2.1.4. CNCF CloudEvents

CloudEvents 는 이벤트 데이터 형식을 정의하기 위해CNCF(Cloud Native Computing Foundation)에서 개발한 벤더 중립 사양입니다.

11.2.1.5. AMQP 디스패치 라우터

디스패치 라우터는 게시자와 구독자 간의 메시지 전달 서비스를 담당합니다. AMQP 1.0 qpid는 인터넷을 통해 신뢰할 수 있는 고성능 완전 대칭 메시징을 지원하는 오픈 표준입니다.

11.2.1.6. 클라우드 이벤트 프록시 사이드카

클라우드 이벤트 프록시 사이드카 컨테이너 이미지는 ORAN API 사양을 기반으로 하며 하드웨어 이벤트에 대한 게시-구독 이벤트 프레임워크를 제공합니다.

11.2.2. Redfish 메시지 구문 분석 서비스

Redfish 이벤트를 처리하는 것 외에도 Bare Metal Event Relay는 Message 속성 없이 이벤트에 대한 메시지 구문 분석을 제공합니다. 프록시는 시작될 때 하드웨어에서 공급 업체 특정 레지스트리를 포함하여 모든 Redfish 메시지 레지스트리를 다운로드합니다. 이벤트에 Message 속성이 포함되어 있지 않은 경우 프록시는 Redfish 메시지 레지스트리를 사용하여 MessageResolution 속성을 구성하고 이벤트를 클라우드 이벤트 프레임워크에 전달하기 전에 이벤트에 추가합니다. 이 서비스를 통해 Redfish 이벤트는 메시지 크기와 전송 대기 시간을 단축할 수 있습니다.

11.2.3. CLI를 사용하여 Bare Metal Event Relay 설치

클러스터 관리자는 CLI를 사용하여 Bare Metal Event Relay Operator를 설치할 수 있습니다.

사전 요구 사항

  • RedFish-enabled Baseboard Management Controller(BMC)가 있는 노드로 베어 메탈 하드웨어에 설치된 클러스터입니다.
  • OpenShift CLI(oc)를 설치합니다.
  • cluster-admin 권한이 있는 사용자로 로그인합니다.

절차

  1. Bare Metal Event Relay의 네임스페이스를 생성합니다.

    1. 베어 메탈-events-namespace.yaml 파일에 다음 YAML을 저장합니다.

      apiVersion: v1
      kind: Namespace
      metadata:
        name: openshift-bare-metal-events
        labels:
          name: openshift-bare-metal-events
          openshift.io/cluster-monitoring: "true"
    2. Namespace CR을 생성합니다.

      $ oc create -f bare-metal-events-namespace.yaml
  2. Bare Metal Event Relay Operator에 대한 Operator group을 생성합니다.

    1. 베어 메탈-events-operatorgroup.yaml 파일에 다음 YAML을 저장합니다.

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: bare-metal-event-relay-group
        namespace: openshift-bare-metal-events
      spec:
        targetNamespaces:
        - openshift-bare-metal-events
    2. OperatorGroup CR을 생성합니다.

      $ oc create -f bare-metal-events-operatorgroup.yaml
  3. Bare Metal Event Relay에 가입합니다.

    1. 베어 메탈-events-sub.yaml 파일에 다음 YAML을 저장합니다.

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: bare-metal-event-relay-subscription
        namespace: openshift-bare-metal-events
      spec:
        channel: "stable"
        name: bare-metal-event-relay
        source: redhat-operators
        sourceNamespace: openshift-marketplace
    2. Subscription CR을 생성합니다.

      $ oc create -f bare-metal-events-sub.yaml

검증

Bare Metal Event Relay Operator가 설치되었는지 확인하려면 다음 명령을 실행합니다.

$ oc get csv -n openshift-bare-metal-events -o custom-columns=Name:.metadata.name,Phase:.status.phase

출력 예

Name                                                    Phase
bare-metal-event-relay.4.10.0-202206301927              Succeeded

11.2.4. 웹 콘솔을 사용하여 Bare Metal Event Relay 설치

클러스터 관리자는 웹 콘솔을 사용하여 Bare Metal Event Relay Operator를 설치할 수 있습니다.

사전 요구 사항

  • RedFish-enabled Baseboard Management Controller(BMC)가 있는 노드로 베어 메탈 하드웨어에 설치된 클러스터입니다.
  • cluster-admin 권한이 있는 사용자로 로그인합니다.

절차

  1. OpenShift Container Platform 웹 콘솔을 사용하여 Bare Metal Event Relay를 설치합니다.

    1. OpenShift Container Platform 웹 콘솔에서 OperatorOperatorHub를 클릭합니다.
    2. 사용 가능한 Operator 목록에서 Bare Metal Event Relay 를 선택한 다음 설치를 클릭합니다.
    3. Operator 설치 페이지에서 네임스페이스 를 선택하거나 생성한 다음 openshift-bare-metal-events 를 선택한 다음 설치를 클릭합니다.

검증

선택 사항: 다음 검사를 수행하여 Operator가 설치되었는지 확인할 수 있습니다.

  1. Operator설치된 Operator 페이지로 전환합니다.
  2. 상태가 InstallSucceeded 인 프로젝트에 Bare Metal Event Relay 가 나열되어 있는지 확인합니다.

    참고

    설치 중에 Operator는 실패 상태를 표시할 수 있습니다. 나중에 InstallSucceeded 메시지와 함께 설치에 성공하면 이 실패 메시지를 무시할 수 있습니다.

Operator가 설치된 것으로 나타나지 않으면 다음과 같이 추가 문제 해결을 수행합니다.

  • Operator설치된 Operator 페이지로 이동하고 Operator 서브스크립션설치 계획 탭의 상태에 장애나 오류가 있는지 검사합니다.
  • 워크로드Pod 페이지로 이동하여 프로젝트 네임스페이스의 Pod 로그를 확인합니다.