13.2. 베어 메탈 이벤트 작동 방식
Bare Metal Event Relay를 사용하면 베어 메탈 클러스터에서 실행되는 애플리케이션이 Redfish 하드웨어 변경 및 온도 임계값 위반, 디스크 손실, 정전 및 메모리 실패와 같은 Redfish 하드웨어 변경 및 장애에 빠르게 대응할 수 있습니다. 이러한 하드웨어 이벤트는 AMQP(Advanced Message Queuing Protocol)를 기반으로 하는 안정적인 대기 시간이 짧은 전송 채널을 통해 제공됩니다. 메시징 서비스의 대기 시간은 10~20밀리초입니다.
베어 메탈 이벤트 릴레이는 여러 애플리케이션이 REST API를 사용하여 이벤트를 구독하고 사용할 수 있는 하드웨어 이벤트에 대한 게시-서브스크립션 서비스를 제공합니다. 베어 메탈 이벤트 릴레이는 Redfish OpenAPI v1.8 이상을 준수하는 하드웨어를 지원합니다.
13.2.1. 베어 메탈 이벤트 릴레이 데이터 흐름
다음 그림은 베어 메탈 이벤트 데이터 흐름의 예를 보여줍니다.
그림 13.1. 베어 메탈 이벤트 릴레이 데이터 흐름
13.2.1.1. Operator에서 관리하는 Pod
Operator는 사용자 정의 리소스를 사용하여 HardwareEvent
CR을 사용하여 Bare Metal Event Relay 및 해당 구성 요소가 포함된 Pod를 관리합니다.
13.2.1.2. Bare Metal Event Relay
시작 시 베어 메탈 이벤트 릴레이는 Redfish API를 쿼리하고 사용자 지정 레지스트리를 포함한 모든 메시지 레지스트리를 다운로드합니다. 그런 다음 Bare Metal Event Relay가 Redfish 하드웨어에서 서브스크립션 이벤트를 수신하기 시작합니다.
Bare Metal Event Relay를 사용하면 베어 메탈 클러스터에서 실행되는 애플리케이션이 Redfish 하드웨어 변경 및 온도 임계값 위반, 디스크 손실, 정전 및 메모리 실패와 같은 Redfish 하드웨어 변경 및 장애에 빠르게 대응할 수 있습니다. 이벤트는 HardwareEvent
CR을 사용하여 보고합니다.
13.2.1.3. 클라우드 네이티브 이벤트
CCNE(클라우드 네이티브 이벤트)는 이벤트 데이터 형식을 정의하기 위한 REST API 사양입니다.
13.2.1.4. CNCF CloudEvents
CloudEvents 는 이벤트 데이터 형식을 정의하기 위해 CCNCF(Cloud Native Computing Foundation)에서 개발한 벤더 중립 사양입니다.
13.2.1.5. AMQP 디스패치 라우터
디스패치 라우터는 게시자와 구독자 간의 메시지 전달 서비스를 담당합니다. AMQP 1.0 qpid는 인터넷을 통해 안정적인 고성능의 완전한 메시징을 지원하는 오픈 표준입니다.
13.2.1.6. 클라우드 이벤트 프록시 사이드카
클라우드 이벤트 프록시 사이드카 컨테이너 이미지는 ORAN API 사양을 기반으로 하며 하드웨어 이벤트에 대한 게시-구독 이벤트 프레임워크를 제공합니다.
13.2.2. Redfish 메시지 구문 분석 서비스
Redfish 이벤트를 처리하는 것 외에도 Bare Metal Event Relay는 Message
속성 없이 이벤트에 대한 메시지 구문 분석 기능을 제공합니다. 프록시는 시작될 때 하드웨어에서 벤더별 레지스트리를 포함하여 모든 Redfish 메시지 레지스트리를 다운로드합니다. 이벤트에 Message
속성이 포함되어 있지 않은 경우 프록시는 Redfish 메시지 레지스트리를 사용하여 Message
및 Resolution
속성을 구성하고 이벤트를 클라우드 이벤트 프레임워크에 전달하기 전에 이벤트에 추가합니다. 이 서비스를 사용하면 Redfish 이벤트의 메시지 크기와 전송 대기 시간이 단축될 수 있습니다.
13.2.3. CLI를 사용하여 베어 메탈 이벤트 릴레이 설치
클러스터 관리자는 CLI를 사용하여 Bare Metal Event Relay Operator를 설치할 수 있습니다.
사전 요구 사항
- BMC(RedFish-enabled Baseboard Management Controller)가 있는 노드를 사용하여 베어 메탈 하드웨어에 설치된 클러스터입니다.
-
OpenShift CLI(
oc
)를 설치합니다. -
cluster-admin
권한이 있는 사용자로 로그인합니다.
프로세스
베어 메탈 이벤트 릴레이의 네임스페이스를 생성합니다.
다음 YAML을
베어 메탈-events-namespace.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 그룹을 생성합니다.
다음 YAML을
bare-metal-events-operatorgroup.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
베어 메탈 이벤트 릴레이를 구독합니다.
다음 YAML을
bare-metal-events-sub.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.11.0-xxxxxxxxxxxx Succeeded
13.2.4. 웹 콘솔을 사용하여 베어 메탈 이벤트 릴레이 설치
클러스터 관리자는 웹 콘솔을 사용하여 Bare Metal Event Relay Operator를 설치할 수 있습니다.
사전 요구 사항
- BMC(RedFish-enabled Baseboard Management Controller)가 있는 노드를 사용하여 베어 메탈 하드웨어에 설치된 클러스터입니다.
-
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 로그를 확인합니다.