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 메시지 레지스트리를 사용하여 Message
및 Resolution
속성을 구성하고 이벤트를 클라우드 이벤트 프레임워크에 전달하기 전에 이벤트에 추가합니다. 이 서비스를 통해 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
권한이 있는 사용자로 로그인합니다.
절차
Bare Metal Event Relay의 네임스페이스를 생성합니다.
베어 메탈-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"
Namespace
CR을 생성합니다.$ oc create -f bare-metal-events-namespace.yaml
Bare Metal Event Relay Operator에 대한 Operator group을 생성합니다.
베어 메탈-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
OperatorGroup
CR을 생성합니다.$ oc create -f bare-metal-events-operatorgroup.yaml
Bare Metal Event Relay에 가입합니다.
베어 메탈-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
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
권한이 있는 사용자로 로그인합니다.
절차
OpenShift Container Platform 웹 콘솔을 사용하여 Bare Metal Event Relay를 설치합니다.
-
OpenShift Container Platform 웹 콘솔에서 Operator
OperatorHub를 클릭합니다. - 사용 가능한 Operator 목록에서 Bare Metal Event Relay 를 선택한 다음 설치를 클릭합니다.
- Operator 설치 페이지에서 네임스페이스 를 선택하거나 생성한 다음 openshift-bare-metal-events 를 선택한 다음 설치를 클릭합니다.
-
OpenShift Container Platform 웹 콘솔에서 Operator
검증
선택 사항: 다음 검사를 수행하여 Operator가 설치되었는지 확인할 수 있습니다.
-
Operator
설치된 Operator 페이지로 전환합니다. 상태가 InstallSucceeded 인 프로젝트에 Bare Metal Event Relay 가 나열되어 있는지 확인합니다.
참고설치 중에 Operator는 실패 상태를 표시할 수 있습니다. 나중에 InstallSucceeded 메시지와 함께 설치에 성공하면 이 실패 메시지를 무시할 수 있습니다.
Operator가 설치된 것으로 나타나지 않으면 다음과 같이 추가 문제 해결을 수행합니다.
-
Operator
설치된 Operator 페이지로 이동하고 Operator 서브스크립션 및 설치 계획 탭의 상태에 장애나 오류가 있는지 검사합니다. -
워크로드
Pod 페이지로 이동하여 프로젝트 네임스페이스의 Pod 로그를 확인합니다.