4.7. Bare Metal Operator를 사용한 구성


베어 메탈 호스트에 OpenShift Container Platform을 배포할 때 프로비저닝 전이나 후에 호스트를 변경해야 하는 경우가 있습니다. 여기에는 호스트의 하드웨어, 펌웨어 및 펌웨어 세부 정보 검사가 포함될 수 있습니다. 디스크 포맷 또는 수정 가능한 펌웨어 설정을 변경할 수도 있습니다.

Bare Metal Operator(BMO)를 사용하여 클러스터에서 베어 메탈 호스트를 프로비저닝, 관리 및 검사할 수 있습니다. BMO는 다음 작업을 완료할 수 있습니다.

  • 특정 이미지를 사용하여 클러스터에 베어 메탈 호스트를 프로비저닝합니다.
  • 호스트를 켜거나 끕니다.
  • 호스트의 하드웨어 세부 정보를 검사하고 베어 메탈 호스트에 보고합니다.
  • 호스트의 펌웨어를 특정 버전으로 업그레이드하거나 다운그레이드합니다.
  • 펌웨어를 검사하고 BIOS 설정을 구성합니다.
  • 호스트를 프로비저닝하기 전이나 후에 호스트의 디스크 콘텐츠를 정리합니다.

BMO는 다음 리소스를 사용하여 다음 작업을 완료합니다.

  • BareMetalHost
  • HostFirmwareSettings
  • FirmwareSchema
  • HostFirmwareComponents
  • HostUpdatePolicy

BMO는 각 베어 메탈 호스트를 BareMetalHost 사용자 정의 리소스 정의의 인스턴스에 매핑하여 클러스터의 물리적 호스트 인벤토리를 유지 관리합니다. 각 BareMetalHost 리소스에는 하드웨어, 소프트웨어 및 펌웨어 세부 정보가 있습니다. BMO는 클러스터의 베어 메탈 호스트를 지속적으로 검사하여 각 BareMetalHost 리소스에서 해당 호스트의 구성 요소를 정확하게 자세히 설명합니다.

BMO는 HostFirmwareSettings 리소스, FirmwareSchema 리소스 및 HostFirmwareComponents 리소스를 사용하여 펌웨어 사양을 자세히 설명하고 베어 메탈 호스트의 펌웨어를 업그레이드하거나 다운그레이드합니다.

BMO는 Ironic API 서비스를 사용하여 클러스터에서 베어 메탈 호스트와 상호 작용합니다. Ironic 서비스는 호스트의 BMC(Baseboard Management Controller)를 사용하여 시스템과 상호 작용합니다.

BMO HostUpdatePolicy 는 호스트를 프로비저닝한 후 베어 메탈 호스트의 펌웨어 설정, BMC 설정 또는 BIOS 설정에 대한 실시간 업데이트를 활성화하거나 비활성화할 수 있습니다. 기본적으로 BMO는 실시간 업데이트를 비활성화합니다.

4.7.1. Bare Metal Operator 아키텍처

Bare Metal Operator(BMO)는 다음 리소스를 사용하여 클러스터에서 베어 메탈 호스트를 프로비저닝, 관리 및 검사합니다. 다음 다이어그램은 이러한 리소스의 아키텍처를 보여줍니다.

BareMetalHost

BareMetalHost 리소스는 물리적 호스트와 해당 속성을 정의합니다. 베어 메탈 호스트를 클러스터에 프로비저닝하는 경우 해당 호스트에 대한 BareMetalHost 리소스를 정의해야 합니다. 호스트를 지속적으로 관리하려면 BareMetalHost 리소스에서 정보를 검사하거나 이 정보를 업데이트할 수 있습니다.

BareMetalHost 리소스에는 다음과 같은 프로비저닝 정보가 있습니다.

  • 운영 체제 부팅 이미지 또는 사용자 정의 RAM 디스크와 같은 배포 사양
  • 프로비저닝 상태
  • BMC(Baseboard Management Controller) 주소
  • 원하는 전원 상태

BareMetalHost 리소스에는 다음과 같은 하드웨어 정보가 있습니다.

  • CPU 수
  • NIC의 MAC 주소
  • 호스트 스토리지 장치의 크기
  • 현재 전원 상태

HostFirmwareSettings

HostFirmwareSettings 리소스를 사용하여 호스트의 펌웨어 설정을 검색하고 관리할 수 있습니다. 호스트가 Available 상태로 이동하면 Ironic 서비스에서 호스트의 펌웨어 설정을 읽고 HostFirmwareSettings 리소스를 생성합니다. BareMetalHost 리소스와 HostFirmwareSettings 리소스 사이에 일대일 매핑이 있습니다.

HostFirmwareSettings 리소스를 사용하여 호스트의 펌웨어 사양을 검사하거나 호스트의 펌웨어 사양을 업데이트할 수 있습니다.

참고

HostFirmwareSettings 리소스의 spec 필드를 편집할 때 벤더 펌웨어와 관련된 스키마를 준수해야 합니다. 이 스키마는 읽기 전용 FirmwareSchema 리소스에서 정의됩니다.

FirmwareSchema

펌웨어 설정은 하드웨어 벤더 및 호스트 모델에 따라 다릅니다. FirmwareSchema 리소스는 각 호스트 모델의 각 펌웨어 설정에 대한 유형 및 제한이 포함된 읽기 전용 리소스입니다. 데이터는 Ironic 서비스를 사용하여 BMC에서 직접 가져옵니다. FirmwareSchema 리소스를 사용하여 HostFirmwareSettings 리소스의 spec 필드에 지정할 수 있는 유효한 값을 확인할 수 있습니다.

스키마가 동일한 경우 FirmwareSchema 리소스는 많은 BareMetalHost 리소스에 적용할 수 있습니다.

HostFirmwareComponents

Metal3 에서는 BIOS 및 BMC(Baseboard Management Controller) 펌웨어 버전을 설명하는 HostFirmwareComponents 리소스를 제공합니다. HostFirmwareComponents 리소스의 spec 필드를 편집하여 호스트의 펌웨어를 특정 버전으로 업그레이드하거나 다운그레이드할 수 있습니다. 이는 특정 펌웨어 버전에 대해 테스트된 검증된 패턴을 사용하여 배포할 때 유용합니다.

HostUpdatePolicy

HostUpdatePolicy 리소스는 베어 메탈 호스트의 펌웨어 설정, BMC 설정 또는 BIOS 설정에 대한 실시간 업데이트를 활성화하거나 비활성화할 수 있습니다. 기본적으로 각 베어 메탈 호스트의 HostUpdatePolicy 리소스는 프로비저닝 중에 호스트로 업데이트를 제한합니다. 호스트를 프로비저닝한 후 펌웨어 설정, BMC 설정 또는 BIOS 설정을 업데이트하려면 호스트의 HostUpdatePolicy 리소스를 수정해야 합니다.

4.7.2. BareMetalHost 리소스 정보

Metal3 에는 물리적 호스트 및 해당 속성을 정의하는 BareMetalHost 리소스의 개념이 도입되었습니다. BareMetalHost 리소스에는 다음 두 섹션이 포함되어 있습니다.

  1. BareMetalHost 사양
  2. BareMetalHost 상태

4.7.2.1. BareMetalHost 사양

BareMetalHost 리소스의 spec 섹션에서는 원하는 호스트 상태를 정의합니다.

Expand
표 4.1. BareMetalHost 사양
매개 변수설명

automatedCleaningMode

프로비저닝 및 프로비저닝 해제 중에 자동 정리를 활성화하거나 비활성화하는 인터페이스입니다. disabled 로 설정하면 자동화된 정리를 건너뜁니다. 메타데이터 로 설정하면 자동화된 정리가 활성화됩니다. 기본 설정은 metadata 입니다.

bmc:
  address:
  credentialsName:
  disableCertificateVerification:
Copy to Clipboard Toggle word wrap

bmc 구성 설정에는 호스트의 BMC(Baseboard Management Controller)에 대한 연결 정보가 포함되어 있습니다. 필드는 다음과 같습니다.

  • address: 호스트의 BMC 컨트롤러와 통신하기 위한 URL입니다.
  • credentialsName: BMC의 사용자 이름과 암호가 포함된 보안에 대한 참조입니다.
  • disableCertificateVerification: true 로 설정된 경우 인증서 검증을 건너뛰는 부울입니다.

bootMACAddress

호스트 프로비저닝에 사용되는 NIC의 MAC 주소입니다.

bootMode

호스트의 부팅 모드입니다. 기본값은 UEFI 이지만 BIOS 부팅 또는 UEFISecureBoot 의 경우 legacy 로 설정할 수도 있습니다.

consumerRef

호스트를 사용하는 다른 리소스에 대한 참조입니다. 다른 리소스에서 현재 호스트를 사용하지 않는 경우 비어 있을 수 있습니다. 예를 들어 machine-api 에서 호스트를 사용할 때 Machine 리소스에서 호스트를 사용할 수 있습니다.

description

호스트를 식별하는 데 도움이 되는 사람이 제공하는 문자열입니다.

externallyProvisioned

호스트 프로비저닝 및 프로비저닝 해제가 외부에서 관리되는지 여부를 나타내는 부울입니다. 설정된 경우:

  • 전원 상태는 온라인 필드를 사용하여 계속 관리할 수 있습니다.
  • 하드웨어 인벤토리가 모니터링되지만 호스트에서 프로비저닝 또는 프로비저닝 해제 작업이 수행되지 않습니다.

펌웨어

베어 메탈 호스트의 BIOS 구성에 대한 정보가 포함되어 있습니다. 현재 펌웨어 는 iRMC, iDRAC, iLO4 및 iLO5 BMC에서만 지원됩니다. 하위 필드는 다음과 같습니다.

  • concurrentMultithreadingEnabled: 단일 물리적 프로세서 코어가 여러 개의 논리 프로세서로 표시되도록 허용합니다. 유효한 설정은 true 또는 false 입니다.
  • sriovEnabled: SR-IOV 지원을 사용하면 하이퍼바이저가 PCI-express 장치의 가상 인스턴스를 생성하여 성능이 증가할 수 있습니다. 유효한 설정은 true 또는 false 입니다.
  • virtualizationEnabled: 플랫폼 하드웨어의 가상화를 지원합니다. 유효한 설정은 true 또는 false 입니다.
image:
  url:
  checksum:
  checksumType:
  format:
Copy to Clipboard Toggle word wrap

이미지 구성 설정에는 호스트에 배포할 이미지의 세부 정보가 있습니다. Ironic에는 이미지 필드가 필요합니다. 그러나 외부 프로비저닝된 구성 설정이 true 로 설정되고 외부 관리에 전원 제어가 필요하지 않은 경우 필드가 비어 있을 수 있습니다. 설정은 다음 필드를 지원합니다.

  • URL: 호스트에 배포할 이미지의 URL입니다.
  • 체크섬: image.url 에서 이미지의 체크섬이 포함된 파일의 실제 체크섬 또는 URL입니다.
  • checksumType: 체크섬 알고리즘을 지정할 수 있습니다. 현재 image.checksumTypemd5,sha256sha512 만 지원합니다. 기본 체크섬 유형은 md5 입니다.
  • Format: 이미지의 디스크 형식입니다. raw,qcow2,vdi,vmdk,live-iso 또는 left unset 중 하나일 수 있습니다. 원시 로 설정하면 Ironic 에이전트에서 해당 이미지의 원시 이미지 스트리밍이 활성화됩니다. live-iso 로 설정하면 iso 이미지가 디스크에 배포되지 않고 라이브 부팅이 가능하며 체크섬 필드를 무시합니다.

networkData

호스트가 네트워크를 설정하기 전에 호스트에 연결할 수 있도록 네트워크 구성 데이터 및 해당 네임스페이스가 포함된 보안에 대한 참조입니다.

온라인

호스트의 전원을 켜야 하는지(true) 또는 off(false)를 나타내는 부울 값입니다. 이 값을 변경하면 물리적 호스트의 전원 상태가 변경됩니다.

raid:
  hardwareRAIDVolumes:
  softwareRAIDVolumes:
Copy to Clipboard Toggle word wrap

(선택 사항) 베어 메탈 호스트의 RAID 구성에 대한 정보가 포함됩니다. 지정하지 않으면 현재 구성이 유지됩니다.

참고

OpenShift Container Platform 4.19는 다음을 포함하여 BMC의 설치 드라이브에서 하드웨어 RAID를 지원합니다.

  • RAID 수준 0, 1, 5, 6, 10을 지원하는 Fujitsu iRMC
  • 펌웨어 버전 6.10.30.20 이상 및 RAID 수준 0, 1 및 5와 함께 Redfish API를 사용하는 Dell iDRAC

OpenShift Container Platform 4.19는 설치 드라이브에서 소프트웨어 RAID를 지원하지 않습니다.

다음 구성 설정을 참조하십시오.

  • hardwareRAIDVolumes: 하드웨어 RAID용 논리 드라이브 목록을 포함하며 하드웨어 RAID에서 원하는 볼륨 구성을 정의합니다. rootDeviceHints 를 지정하지 않으면 첫 번째 볼륨은 root 볼륨입니다. 하위 필드는 다음과 같습니다.

    • level: 논리 드라이브의 RAID 수준입니다. 다음 수준이 지원됩니다. 0,1,2,5,6,1+0,5+0,6+0.
    • name: 문자열로 된 볼륨의 이름입니다. 서버 내에서 고유해야 합니다. 지정하지 않으면 볼륨 이름이 자동으로 생성됩니다.
    • numberOfPhysicalDisks: 논리 drove에 사용할 정수로 물리적 드라이브의 수입니다. 기본값은 특정 RAID 수준에 필요한 최소 디스크 드라이브 수입니다.
    • physicalDisks: 물리적 디스크 드라이브의 이름 목록을 문자열로 나타냅니다. 이 필드는 선택적 필드입니다. 지정된 경우 컨트롤러 필드도 지정해야 합니다.
    • Controller: (선택 사항) 하드웨어 RAID 볼륨에서 사용할 문자열로 RAID 컨트롤러의 이름입니다.
    • rotational: true 로 설정하면 회전 디스크 드라이브만 선택됩니다. false 로 설정하면 솔리드 스테이트 및 NVMe 드라이브만 선택됩니다. 설정되지 않은 경우 기본 동작인 드라이브 유형을 선택합니다.
    • sizeGibibytes: GiB 단위로 생성할 논리 드라이브의 크기입니다. 지정되지 않았거나 0 으로 설정하면 논리 드라이브에 대해 물리적 드라이브의 최대 용량을 사용합니다.
  • SoftwareRAIDVolumes: OpenShift Container Platform 4.19는 설치 드라이브에서 소프트웨어 RAID를 지원하지 않습니다. 이 구성에는 소프트웨어 RAID용 논리 디스크 목록이 포함되어 있습니다. rootDeviceHints 를 지정하지 않으면 첫 번째 볼륨은 root 볼륨입니다. HardwareRAIDVolumes 를 설정하면 이 항목이 유효하지 않습니다. 소프트웨어 RAID는 항상 삭제됩니다. 생성된 소프트웨어 RAID 장치의 수는 1 또는 2 여야 합니다. 소프트웨어 RAID 장치가 하나뿐인 경우 RAID-1 이어야 합니다. 두 개의 RAID 장치가 있는 경우 첫 번째 장치는 RAID-1 이어야 하며 두 번째 장치의 RAID 수준은 0,1 또는 1+0 이어야 합니다. 첫 번째 RAID 장치는 소프트웨어 RAID 볼륨일 수 없는 배포 장치입니다. RAID-1 을 강제 적용하면 장치가 실패할 경우 노드가 부팅되지 않을 위험이 줄어듭니다. softwareRAIDVolume 필드는 소프트웨어 RAID에서 볼륨의 원하는 구성을 정의합니다. 하위 필드는 다음과 같습니다.

    • level: 논리 드라이브의 RAID 수준입니다. 지원되는 수준은0,1,1+0 입니다.
    • physicalDisks: 장치 힌트 목록입니다. 항목 수가 2 보다 크거나 같아야 합니다.
    • sizeGibibytes: GiB 단위로 생성할 논리 디스크 드라이브의 크기입니다. 지정되지 않았거나 0 으로 설정하면 논리 드라이브에 대해 물리적 드라이브의 최대 용량을 사용합니다.

hardwareRAIDVolume 을 빈 슬라이스로 설정하여 하드웨어 RAID 구성을 지울 수 있습니다. 예를 들면 다음과 같습니다.

spec:
   raid:
     hardwareRAIDVolume: []
Copy to Clipboard Toggle word wrap

드라이버가 RAID를 지원하지 않음을 나타내는 오류 메시지가 표시되면 raid,hardwareRAIDVolumes 또는 softwareRAIDVolumes 를 nil로 설정합니다. 호스트에 RAID 컨트롤러가 있는지 확인해야 합니다.

rootDeviceHints:
  deviceName:
  hctl:
  model:
  vendor:
  serialNumber:
  minSizeGigabytes:
  wwn:
  wwnWithExtension:
  wwnVendorExtension:
  rotational:
Copy to Clipboard Toggle word wrap

rootDeviceHints 매개변수를 사용하면 RHCOS 이미지를 특정 장치에 프로비저닝할 수 있습니다. 설치 프로그램은 장치를 검색한 순서대로 검사하고 검색된 값을 팁과 비교합니다. 힌트 값과 일치하는 첫 번째 검색된 장치를 사용합니다. 구성은 여러 힌트를 결합할 수 있지만 장치를 선택하려면 모든 팁과 일치해야 합니다. 필드는 다음과 같습니다.

  • devicename: /dev/vda 와 같은 Linux 장치 이름을 포함하는 문자열입니다. 팁은 실제 값과 정확히 일치해야 합니다.
  • 0:0:0:0과 같은 SCSI 버스 주소를 포함하는 문자열. 팁은 실제 값과 정확히 일치해야 합니다.
  • 공급 업체별 장치 식별자가 포함된 문자열. 팁은 실제 값의 하위 문자열입니다.
  • 장치의 공급 업체 또는 제조업체 이름이 포함된 문자열입니다. 팁은 실제 값의 하위 문자열입니다.
  • serialnumber: 장치 일련 번호를 포함하는 문자열입니다. 팁은 실제 값과 정확히 일치해야 합니다.
  • minSizeGigabytes: 장치의 최소 크기를 기가바이트 단위로 나타내는 정수입니다.
  • 고유 저장소 식별자를 포함하는 문자열입니다. 팁은 실제 값과 정확히 일치해야 합니다.
  • wwnWithExtension: 공급 업체 확장이 추가된 고유 스토리지 식별자가 포함된 문자열입니다. 팁은 실제 값과 정확히 일치해야 합니다.
  • wwnVendorExtension: 고유한 공급 업체 스토리지 식별자를 포함하는 문자열입니다. 팁은 실제 값과 정확히 일치해야 합니다.
  • 장치가 회전 디스크 여야하는지 (true) 아닌지 (false)를 나타내는 부울 값입니다.

4.7.2.2. BareMetalHost 상태

BareMetalHost 상태는 호스트의 현재 상태를 나타내며 테스트된 인증 정보, 현재 하드웨어 세부 정보 및 기타 정보를 포함합니다.

Expand
표 4.2. BareMetalHost 상태
매개 변수설명

goodCredentials

시스템에서 검증할 수 있는 마지막 BMC(Baseboard Management Controller) 인증 정보를 보유한 시크릿 및 해당 네임스페이스에 대한 참조입니다.

errorMessage

프로비저닝 백엔드에서 보고한 마지막 오류의 세부 정보(있는 경우).

errorType

호스트가 오류 상태가 된 문제의 클래스를 나타냅니다. 오류 유형은 다음과 같습니다.

  • 프로비저닝된 등록 오류: 컨트롤러가 이미 프로비저닝된 호스트를 다시 등록할 수 없는 경우 발생합니다.
  • 등록 오류: 컨트롤러가 호스트의 베이스 보드 관리 컨트롤러에 연결할 수 없는 경우 발생합니다.
  • 검사 오류: 호스트에서 하드웨어 세부 정보를 가져오려고 할 때 발생합니다.
  • 준비 오류: 정리에 실패할 때 발생합니다.
  • 프로비저닝 오류: 컨트롤러가 호스트를 프로비저닝하거나 프로비저닝 해제하지 못할 때 발생합니다.
  • 전원 관리 오류: 컨트롤러가 호스트의 전원 상태를 수정할 수 없는 경우 발생합니다.
  • 분리 오류: 컨트롤러가 프로비저너에서 호스트를 분리할 수 없는 경우 발생합니다.
hardware:
  cpu
    arch:
    model:
    clockMegahertz:
    flags:
    count:
Copy to Clipboard Toggle word wrap

hardware.cpu 필드 시스템의 CPU 세부 정보입니다. 필드는 다음과 같습니다.

  • Arch: CPU의 아키텍처입니다.
  • model: CPU 모델이 문자열로 되어 있습니다.
  • clockMegahertz: CPU의 속도입니다.
  • flags: CPU 플래그 목록입니다. 예를 들어 'mmx','sse', 'sse2','vmx' 등이 있습니다.
  • count: 시스템에서 사용 가능한 CPU 수입니다.
hardware:
  firmware:
Copy to Clipboard Toggle word wrap

BIOS 펌웨어 정보를 포함합니다. 예를 들어 하드웨어 벤더 및 버전입니다.

hardware:
  nics:
  - ip:
    name:
    mac:
    speedGbps:
    vlans:
    vlanId:
    pxe:
Copy to Clipboard Toggle word wrap

hardware.nics 필드에는 호스트에 대한 네트워크 인터페이스 목록이 포함되어 있습니다. 필드는 다음과 같습니다.

  • IP: 검색 에이전트가 실행될 때 할당된 NIC의 IP 주소입니다.
  • name: 네트워크 장치를 식별하는 문자열입니다. 예를 들면 nic-1 입니다.
  • Mac: NIC의 MAC 주소입니다.
  • speedGbps: Gbps 단위의 장치 속도입니다.
  • VLAN: 이 NIC에 사용 가능한 모든 VLAN이 있는 목록입니다.
  • vlanId: 태그가 지정되지 않은 VLAN ID입니다.
  • PXE: NIC가 PXE를 사용하여 부팅할 수 있는지 여부입니다.
hardware:
  ramMebibytes:
Copy to Clipboard Toggle word wrap

호스트의 메모리 양(MB)입니다.

hardware:
  storage:
  - name:
    rotational:
    sizeBytes:
    serialNumber:
Copy to Clipboard Toggle word wrap

hardware.storage 필드에는 호스트에서 사용할 수 있는 스토리지 장치 목록이 포함되어 있습니다. 필드는 다음과 같습니다.

  • name: 스토리지 장치를 식별하는 문자열입니다. 예를 들면 디스크 1(부팅) 입니다.
  • rotational: 디스크가 rotational인지 여부를 나타내며 true 또는 false 를 반환합니다.
  • sizeBytes: 저장 장치의 크기입니다.
  • serialnumber: 장치의 일련 번호입니다.
hardware:
  systemVendor:
    manufacturer:
    productName:
    serialNumber:
Copy to Clipboard Toggle word wrap

호스트의 제조업체, productName, serialNumber 에 대한 정보를 포함합니다.

lastUpdated

호스트 상태가 마지막으로 업데이트된 시점의 타임스탬프입니다.

operationalStatus

서버 상태. 상태는 다음 중 하나입니다.

  • OK: 호스트의 모든 세부 정보가 알려지고, 올바르게 구성되고, 작동하고, 관리할 수 있음을 나타냅니다.
  • discovered: 일부 호스트의 세부 정보가 제대로 작동하지 않거나 누락된 경우입니다. 예를 들어 BMC 주소는 알려져 있지만 로그인 자격 증명은 그렇지 않습니다.
  • error: 시스템에 일종의 복구할 수 없는 오류가 있음을 나타냅니다. 자세한 내용은 상태 섹션의 errorMessage 필드를 참조하십시오.
  • 지연됨: 여러 호스트의 동시 프로비저닝을 제한하기 위해 프로비저닝이 지연됨을 나타냅니다.
  • 분리됨: 호스트가 관리되지 않음 으로 표시됩니다.

poweredOn

호스트의 전원이 켜졌는지 여부를 나타내는 부울입니다.

provisioning:
  state:
  id:
  image:
  raid:
  firmware:
  rootDeviceHints:
Copy to Clipboard Toggle word wrap

provisioning 필드에는 호스트에 이미지 배포와 관련된 값이 포함되어 있습니다. 서브 필드는 다음과 같습니다.

  • 상태: 진행 중인 프로비저닝 작업의 현재 상태입니다. 국가에는 다음이 포함됩니다.

    • <empty string > : 현재 프로비저닝이 발생하지 않습니다.
    • Unmanaged: 호스트를 등록할 수 있는 정보가 충분하지 않습니다.
    • 등록: 에이전트는 호스트의 BMC 세부 정보를 확인하고 있습니다.
    • match profile: 에이전트는 호스트에서 검색된 하드웨어 세부 정보를 알려진 프로필과 비교합니다.
    • Available: 호스트를 프로비저닝할 수 있습니다. 이 상태를 이전에 ready 이라고 했습니다.
    • preparing: 기존 구성이 제거되고 새 구성이 호스트에 설정됩니다.
    • provisioning: 프로비저너가 호스트의 스토리지에 이미지를 작성하고 있습니다.
    • provisioned: 프로비저너가 호스트의 스토리지에 이미지를 작성했습니다.
    • 외부 프로비저닝: Metal3 은 호스트의 이미지를 관리하지 않습니다.
    • 프로비저닝 해제: 프로비저너가 호스트의 스토리지에서 이미지를 제거하고 있습니다.
    • inspect: 에이전트가 호스트의 하드웨어 세부 정보를 수집하고 있습니다.
    • Delete: 에이전트가 클러스터에서 를 삭제하고 있습니다.
  • ID: 기본 프로비저닝 툴에서 서비스의 고유 식별자입니다.
  • image: 호스트에 가장 최근에 프로비저닝된 이미지입니다.
  • RAID: 최근 설정된 하드웨어 또는 소프트웨어 RAID 볼륨 목록입니다.
  • 펌웨어: 베어 메탈 서버의 BIOS 구성입니다.
  • RootDeviceHints: 최근 프로비저닝 작업에 사용되는 루트 장치 선택 지침입니다.

triedCredentials

시크릿 및 해당 네임스페이스에 대한 참조로, 프로비저닝 백엔드로 전송된 BMC 자격 증명의 마지막 세트를 보유합니다.

4.7.3. BareMetalHost 리소스 가져오기

BareMetalHost 리소스에는 물리적 호스트의 속성이 포함되어 있습니다. 물리적 호스트에서 속성을 검토하려면 BareMetalHost 리소스를 가져와야 합니다.

프로세스

  1. BareMetalHost 리소스 목록을 가져옵니다.

    $ oc get bmh -n openshift-machine-api -o yaml
    Copy to Clipboard Toggle word wrap
    참고

    baremetalhostoc get 명령과 함께 긴 형태의 bmh 로 사용할 수 있습니다.

  2. 호스트 목록을 가져옵니다.

    $ oc get bmh -n openshift-machine-api
    Copy to Clipboard Toggle word wrap
  3. 특정 호스트에 대한 BareMetalHost 리소스를 가져옵니다.

    $ oc get bmh <host_name> -n openshift-machine-api -o yaml
    Copy to Clipboard Toggle word wrap

    여기서 <host_name >은 호스트의 이름입니다.

    출력 예

    apiVersion: metal3.io/v1alpha1
    kind: BareMetalHost
    metadata:
      creationTimestamp: "2022-06-16T10:48:33Z"
      finalizers:
      - baremetalhost.metal3.io
      generation: 2
      name: openshift-worker-0
      namespace: openshift-machine-api
      resourceVersion: "30099"
      uid: 1513ae9b-e092-409d-be1b-ad08edeb1271
    spec:
      automatedCleaningMode: metadata
      bmc:
        address: redfish://10.46.61.19:443/redfish/v1/Systems/1
        credentialsName: openshift-worker-0-bmc-secret
        disableCertificateVerification: true
      bootMACAddress: 48:df:37:c7:f7:b0
      bootMode: UEFI
      consumerRef:
        apiVersion: machine.openshift.io/v1beta1
        kind: Machine
        name: ocp-edge-958fk-worker-0-nrfcg
        namespace: openshift-machine-api
      customDeploy:
        method: install_coreos
      online: true
      rootDeviceHints:
        deviceName: /dev/disk/by-id/scsi-<serial_number>
      userData:
        name: worker-user-data-managed
        namespace: openshift-machine-api
    status:
      errorCount: 0
      errorMessage: ""
      goodCredentials:
        credentials:
          name: openshift-worker-0-bmc-secret
          namespace: openshift-machine-api
        credentialsVersion: "16120"
      hardware:
        cpu:
          arch: x86_64
          clockMegahertz: 2300
          count: 64
          flags:
          - 3dnowprefetch
          - abm
          - acpi
          - adx
          - aes
          model: Intel(R) Xeon(R) Gold 5218 CPU @ 2.30GHz
        firmware:
          bios:
            date: 10/26/2020
            vendor: HPE
            version: U30
        hostname: openshift-worker-0
        nics:
        - mac: 48:df:37:c7:f7:b3
          model: 0x8086 0x1572
          name: ens1f3
        ramMebibytes: 262144
        storage:
        - hctl: "0:0:0:0"
          model: VK000960GWTTB
          name: /dev/disk/by-id/scsi-<serial_number>
          sizeBytes: 960197124096
          type: SSD
          vendor: ATA
        systemVendor:
          manufacturer: HPE
          productName: ProLiant DL380 Gen10 (868703-B21)
          serialNumber: CZ200606M3
      lastUpdated: "2022-06-16T11:41:42Z"
      operationalStatus: OK
      poweredOn: true
      provisioning:
        ID: 217baa14-cfcf-4196-b764-744e184a3413
        bootMode: UEFI
        customDeploy:
          method: install_coreos
        image:
          url: ""
        raid:
          hardwareRAIDVolumes: null
          softwareRAIDVolumes: []
        rootDeviceHints:
          deviceName: /dev/disk/by-id/scsi-<serial_number>
        state: provisioned
      triedCredentials:
        credentials:
          name: openshift-worker-0-bmc-secret
          namespace: openshift-machine-api
        credentialsVersion: "16120"
    Copy to Clipboard Toggle word wrap

4.7.4. BareMetalHost 리소스 편집

베어 메탈에 OpenShift Container Platform 클러스터를 배포한 후 노드의 BareMetalHost 리소스를 편집해야 할 수 있습니다. 다음 예제를 고려하십시오.

  • 지원 설치 관리자를 사용하여 클러스터를 배포하고 BMC(Baseboard Management Controller) 호스트 이름 또는 IP 주소를 추가하거나 편집해야 합니다.
  • 프로비저닝을 해제하지 않고 한 클러스터에서 다른 클러스터로 노드를 이동하려고 합니다.

사전 요구 사항

  • 노드가 Provisioned,ExternallyProvisioned 또는 Available 상태인지 확인합니다.

프로세스

  1. 노드 목록을 가져옵니다.

    $ oc get bmh -n openshift-machine-api
    Copy to Clipboard Toggle word wrap
  2. 노드의 BareMetalHost 리소스를 편집하기 전에 다음 명령을 실행하여 Ironic에서 노드를 분리합니다.

    $ oc annotate baremetalhost <node_name> -n openshift-machine-api 'baremetalhost.metal3.io/detached=true' 
    1
    Copy to Clipboard Toggle word wrap
    1
    $ NODE_NAME을 노드 이름으로 바꿉니다.
  3. 다음 명령을 실행하여 BareMetalHost 리소스를 편집합니다.

    $ oc edit bmh <node_name> -n openshift-machine-api
    Copy to Clipboard Toggle word wrap
  4. 다음 명령을 실행하여 Ironic에 노드를 다시 연결합니다.

    $ oc annotate baremetalhost <node_name> -n openshift-machine-api 'baremetalhost.metal3.io/detached'-
    Copy to Clipboard Toggle word wrap

4.7.5. BareMetalHost 리소스를 삭제할 때 대기 시간 문제 해결

Bare Metal Operator(BMO)가 BareMetalHost 리소스를 삭제할 때 Ironic은 cleaning라는 프로세스를 사용하여 베어 메탈 호스트를 프로비저닝 해제합니다. 정리에 실패할 때 Ironic은 대기 시간 소스인 정리 프로세스를 세 번 재시도합니다. 정리 프로세스가 성공하지 못할 수 있으므로 베어 메탈 호스트의 프로비저닝 상태가 삭제 상태에 무기한 유지됩니다. 이 경우 다음 절차를 사용하여 정리 프로세스를 비활성화합니다.

주의

BareMetalHost 리소스에서 종료자를 제거하지 마십시오.

프로세스

  1. 정리 프로세스가 실패하고 다시 시작되면 완료될 때까지 기다립니다. 이 작업은 약 5분 정도 걸릴 수 있습니다.
  2. 프로비저닝 상태가 삭제 상태인 경우 BareMetalHost 리소스를 수정하고 automatedCleaningMode 필드를 disabled 로 설정하여 정리 프로세스를 비활성화합니다.

자세한 내용은 " BareMetalHost 리소스 편집"을 참조하십시오.

4.7.6. 베어 메탈 노드에 부팅 불가능한 ISO 연결

DataImage 리소스를 사용하여 부팅 불가능한 일반 ISO 가상 미디어 이미지를 프로비저닝된 노드에 연결할 수 있습니다. 리소스를 적용하면 부팅 후 운영 체제에서 ISO 이미지에 액세스할 수 있게 됩니다. 이는 운영 체제를 프로비저닝한 후 노드를 처음 부팅하기 전에 노드를 구성하는 데 유용합니다.

사전 요구 사항

  • 이 기능을 지원하려면 노드에서 Redfish 또는 드라이버를 사용해야 합니다.
  • 노드가 Provisioned 또는 ExternallyProvisioned 상태여야 합니다.
  • 이름은 BareMetalHost 리소스에 정의된 노드의 이름과 동일해야 합니다.
  • ISO 이미지에 유효한 URL 이 있습니다.

프로세스

  1. DataImage 리소스를 생성합니다.

    apiVersion: metal3.io/v1alpha1
    kind: DataImage
    metadata:
      name: <node_name> 
    1
    
    spec:
      url: "http://dataimage.example.com/non-bootable.iso" 
    2
    Copy to Clipboard Toggle word wrap
    1
    BareMetalHost 리소스에 정의된 노드 이름을 지정합니다.
    2
    ISO 이미지의 URL 및 경로를 지정합니다.
  2. 다음 명령을 실행하여 DataImage 리소스를 파일에 저장합니다.

    $ vim <node_name>-dataimage.yaml
    Copy to Clipboard Toggle word wrap
  3. 다음 명령을 실행하여 DataImage 리소스를 적용합니다.

    $ oc apply -f <node_name>-dataimage.yaml -n <node_namespace> 
    1
    Copy to Clipboard Toggle word wrap
    1
    네임스페이스가 BareMetalHost 리소스의 네임스페이스와 일치하도록 <node_namespace>를 바꿉니다. 예를 들면 openshift-machine-api 입니다.
  4. 노드를 재부팅합니다.

    참고

    노드를 재부팅하려면 reboot.metal3.io 주석을 연결하거나 BareMetalHost 리소스에서 온라인 상태를 재설정합니다. 베어 메탈 노드를 강제로 재부팅하면 노드의 상태가 NotReady 로 변경됩니다. 예를 들면 5분 이상입니다.

  5. 다음 명령을 실행하여 DataImage 리소스를 확인합니다.

    $ oc get dataimage <node_name> -n openshift-machine-api -o yaml
    Copy to Clipboard Toggle word wrap

    출력 예

    apiVersion: v1
    items:
    - apiVersion: metal3.io/v1alpha1
      kind: DataImage
      metadata:
        annotations:
          kubectl.kubernetes.io/last-applied-configuration: |
            {"apiVersion":"metal3.io/v1alpha1","kind":"DataImage","metadata":{"annotations":{},"name":"bmh-node-1","namespace":"openshift-machine-api"},"spec":{"url":"http://dataimage.example.com/non-bootable.iso"}}
        creationTimestamp: "2024-06-10T12:00:00Z"
        finalizers:
        - dataimage.metal3.io
        generation: 1
        name: bmh-node-1
        namespace: openshift-machine-api
        ownerReferences:
        - apiVersion: metal3.io/v1alpha1
          blockOwnerDeletion: true
          controller: true
          kind: BareMetalHost
          name: bmh-node-1
          uid: 046cdf8e-0e97-485a-8866-e62d20e0f0b3
        resourceVersion: "21695581"
        uid: c5718f50-44b6-4a22-a6b7-71197e4b7b69
      spec:
        url: http://dataimage.example.com/non-bootable.iso
      status:
        attachedImage:
          url: http://dataimage.example.com/non-bootable.iso
        error:
          count: 0
          message: ""
        lastReconciled: "2024-06-10T12:05:00Z"
    Copy to Clipboard Toggle word wrap

4.7.7. 공유 NIC의 경우 Cryostat-SI 및 DisablePowerOff 구성

네트워크 컨트롤러 사이드 대역폭 인터페이스(NC-SI)를 사용하면 Redfish, IPMI 또는 벤더별 인터페이스와 같은 프로토콜을 사용하여 BMC(Baseboard Management Controller)가 호스트와 시스템 네트워크 인터페이스 카드(NIC)를 공유할 수 있습니다. DisablePowerOff 기능은 하드 전원 끄기를 방지하여 BMC 연결을 유지하기 위해 소프트 재부팅을 보장합니다.

사전 요구 사항

  • Cryostat-SI 지원 하드웨어 및 NIC.
  • BMC는 IP 주소 및 네트워크 연결로 구성됩니다.
  • BMC에 대한 관리 액세스.
  • cluster-admin 권한으로 OpenShift 클러스터에 액세스합니다.

프로세스

  1. 공유 NIC에 대해 Cryostat-SI를 활성화하도록 BMC를 구성합니다.
  2. 다음 명령 중 하나를 실행하여 Redfish 또는 IPMI를 사용하여 BMC 연결을 확인합니다.

    $ curl -k https://<bmc_ip>/redfish/v1/Systems/1
    Copy to Clipboard Toggle word wrap
    $ ipmitool -I lanplus -H <bmc_ip> -U <user> -P <pass> power status
    Copy to Clipboard Toggle word wrap
  3. openshift-machine-api 네임스페이스에서 BareMetalHost 리소스를 편집하여 DisablePowerOff 기능을 활성화합니다.

    apiVersion: metal3.io/v1alpha1
    kind: BareMetalHost
    metadata:
      name: example-host
      namespace: openshift-machine-api
    spec:
      online: true
      bmc:
        address: <protocol>://<bmc_ip>/<bmc_address_format>
        credentialsName: bmc-secret
      disablePowerOff: true
    Copy to Clipboard Toggle word wrap

    지원되는 프로토콜 및 BMC 주소 형식에 대한 자세한 내용은 "BMC 주소 지정" 섹션을 참조하십시오.

  4. 다음 명령을 실행하여 변경 사항을 적용합니다.

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap

검증

  • 다음 명령을 실행하여 BareMetalHost 상태를 확인합니다.

    $ oc get baremetalhost example-host -n openshift-machine-api -o yaml
    Copy to Clipboard Toggle word wrap

    disablePowerOff: truespec 섹션에 있는지 확인합니다.

  • 노드 포드를 다시 시작하여 재부팅을 테스트하고 BMC 연결이 활성 상태로 유지되는지 확인합니다.
  • BareMetalHost.spec.online=false 를 설정합니다. power-off가 비활성화되었음을 나타내는 오류와 함께 실패합니다.

4.7.8. HostFirmwareSettings 리소스 정보

HostFirmwareSettings 리소스를 사용하여 호스트의 BIOS 설정을 검색하고 관리할 수 있습니다. 호스트가 Available 상태로 이동하면 Ironic에서 호스트의 BIOS 설정을 읽고 HostFirmwareSettings 리소스를 생성합니다. 리소스에는 BMC(Baseboard Management Controller)에서 반환된 전체 BIOS 구성이 포함되어 있습니다. 반면 BareMetalHost 리소스의 펌웨어 필드는 세 가지 벤더 독립적인 필드를 반환하며, HostFirmwareSettings 리소스는 일반적으로 호스트 모델당 벤더별 필드의 많은 BIOS 설정을 포함합니다.

HostFirmwareSettings 리소스에는 다음 두 섹션이 포함되어 있습니다.

  1. HostFirmwareSettings 사양입니다.
  2. HostFirmwareSettings 상태입니다.
참고

펌웨어 설정 읽기 및 수정은 벤더 독립적인 Redfish 프로토콜, Fujitsu iRMC 또는 HP iLO를 기반으로 하는 드라이버에서만 지원됩니다.

4.7.8.1. HostFirmwareSettings 사양

HostFirmwareSettings 리소스의 spec 섹션은 호스트 BIOS의 원하는 상태를 정의하며 기본적으로 비어 있습니다. Ironic은 spec.settings 섹션의 설정을 사용하여 호스트가 준비 상태에 있을 때 BMC(Baseboard Management Controller)를 업데이트합니다. FirmwareSchema 리소스를 사용하여 잘못된 이름/값 쌍을 호스트에 보내지 않도록 합니다. 자세한 내용은 " FirmwareSchema 리소스 수락"을 참조하십시오.

예제

spec:
  settings:
    ProcTurboMode: Disabled
1
Copy to Clipboard Toggle word wrap

1
위 예제에서 spec.settings 섹션에는 ProcTurboMode BIOS 설정을 Disabled 로 설정하는 이름/값 쌍이 포함되어 있습니다.
참고

상태 섹션에 나열된 정수 매개 변수는 문자열로 표시됩니다. 예를 들면 2.0.0 입니다. spec.settings 섹션에서 정수를 설정할 때 값은 따옴표 없이 정수로 설정해야 합니다. 예를 들면 1 입니다.

4.7.8.2. HostFirmwareSettings 상태

상태는 호스트 BIOS의 현재 상태를 나타냅니다.

Expand
표 4.3. HostFirmwareSettings
매개 변수설명
status:
  conditions:
  - lastTransitionTime:
    message:
    observedGeneration:
    reason:
    status:
    type:
Copy to Clipboard Toggle word wrap

conditions 필드에는 상태 변경 목록이 포함되어 있습니다. 서브 필드는 다음과 같습니다.

  • lastTransitionTime: 상태가 마지막으로 변경된 시간입니다.
  • Message: 상태 변경에 대한 설명입니다.
  • observedGeneration: 상태 의 현재 생성입니다. metadata.generation 및 이 필드가 동일하지 않으면 status.conditions 가 최신 상태가 될 수 있습니다.
  • 이유: 국가 변경의 이유
  • status: 상태 변경의 상태입니다. 상태는 True,False 또는 알 수 없음일 수 있습니다.
  • 유형: 상태 변경의 유형입니다. 유형은 ValidChangeDetected.
status:
  schema:
    name:
    namespace:
    lastUpdated:
Copy to Clipboard Toggle word wrap

펌웨어 설정의 FirmwareSchema 입니다. 필드는 다음과 같습니다.

  • name: 스키마를 참조하는 이름 또는 고유 식별자입니다.
  • namespace: 스키마가 저장된 네임스페이스입니다.
  • lastUpdated: 리소스가 마지막으로 업데이트된 시간입니다.
status:
  settings:
Copy to Clipboard Toggle word wrap

설정 필드에는 호스트의 현재 BIOS 설정의 이름/값 쌍 목록이 포함되어 있습니다.

4.7.9. HostFirmwareSettings 리소스 가져오기

HostFirmwareSettings 리소스에는 물리적 호스트의 벤더별 BIOS 속성이 포함되어 있습니다. BIOS 속성을 검토하려면 물리적 호스트에 대한 HostFirmwareSettings 리소스를 가져와야 합니다.

프로세스

  1. 다음 명령을 실행하여 HostFirmwareSettings 리소스의 자세한 목록을 가져옵니다.

    $ oc get hfs -n openshift-machine-api -o yaml
    Copy to Clipboard Toggle word wrap
    참고

    oc get 명령과 함께 hfs 의 긴 형식으로 hostfirmwaresettings 를 사용할 수 있습니다.

  2. 다음 명령을 실행하여 HostFirmwareSettings 리소스 목록을 가져옵니다.

    $ oc get hfs -n openshift-machine-api
    Copy to Clipboard Toggle word wrap
  3. 다음 명령을 실행하여 특정 호스트에 대한 HostFirmwareSettings 리소스를 가져옵니다.

    $ oc get hfs <host_name> -n openshift-machine-api -o yaml
    Copy to Clipboard Toggle word wrap

    여기서 <host_name >은 호스트의 이름입니다.

4.7.10. 프로비저닝된 호스트의 HostFirmwareSettings 리소스 편집

프로비저닝된 호스트의 HostFirmwareSettings 사양을 변경하려면 다음 작업을 수행합니다.

  • 호스트 HostFirmwareSettings 리소스를 편집합니다.
  • 머신 세트에서 호스트를 삭제합니다.
  • 머신 세트를 0 으로 축소합니다.
  • 머신 세트를 확장하여 변경 사항을 적용합니다.
중요

읽기 전용 값을 제외하고 프로비저닝된 상태에 있는 경우에만 호스트를 편집할 수 있습니다. 외부 프로비저닝된 상태에서 호스트를 편집할 수 없습니다.

프로세스

  1. 다음 명령을 실행하여 HostFirmwareSettings 리소스 목록을 가져옵니다.

    $ oc get hfs -n openshift-machine-api
    Copy to Clipboard Toggle word wrap
  2. 다음 명령을 실행하여 호스트 HostFirmwareSettings 리소스를 편집합니다.

    $ oc edit hfs <hostname> -n openshift-machine-api
    Copy to Clipboard Toggle word wrap

    여기서 <hostname >은 프로비저닝된 호스트의 이름입니다. HostFirmwareSettings 리소스는 터미널의 기본 편집기에서 열립니다.

  3. 다음 명령을 실행하여 이름 및 값 쌍을 spec.settings 섹션에 추가합니다.

    예제

    spec:
      settings:
        name: value 
    1
    Copy to Clipboard Toggle word wrap

    1
    FirmwareSchema 리소스를 사용하여 호스트에 사용 가능한 설정을 식별합니다. 읽기 전용 값은 설정할 수 없습니다.
  4. 변경 사항을 저장하고 편집기를 종료합니다.
  5. 다음 명령을 실행하여 호스트 머신 이름을 가져옵니다.

     $ oc get bmh <hostname> -n openshift-machine name
    Copy to Clipboard Toggle word wrap

    여기서 <hostname >은 호스트의 이름입니다. 터미널에는 CONSUMER 필드에 시스템 이름이 표시됩니다.

  6. 다음 명령을 실행하여 머신 세트에서 삭제할 머신에 주석을 답니다.

    $ oc annotate machine <machine_name> machine.openshift.io/delete-machine=true -n openshift-machine-api
    Copy to Clipboard Toggle word wrap

    여기서 <machine_name >은 삭제할 머신의 이름입니다.

  7. 다음 명령을 실행하여 노드 목록을 가져오고 작업자 노드 수를 계산합니다.

    $ oc get nodes
    Copy to Clipboard Toggle word wrap
  8. 다음 명령을 실행하여 머신 세트를 가져옵니다.

    $ oc get machinesets -n openshift-machine-api
    Copy to Clipboard Toggle word wrap
  9. 다음 명령을 실행하여 머신 세트를 스케일링합니다.

    $ oc scale machineset <machineset_name> -n openshift-machine-api --replicas=<n-1>
    Copy to Clipboard Toggle word wrap

    여기서 <machineset_name >은 머신 세트의 이름이며 < n-1 >은 감소된 작업자 노드 수입니다.

  10. 호스트가 Available 상태가 되면 다음 명령을 실행하여 HostFirmwareSettings 리소스 변경이 적용되도록 시스템 세트를 확장합니다.

    $ oc scale machineset <machineset_name> -n openshift-machine-api --replicas=<n>
    Copy to Clipboard Toggle word wrap

    여기서 <machineset_name >은 머신 세트의 이름이며 < n >은 작업자 노드 수입니다.

4.7.11. HostFirmwareSettings 리소스에 대한 실시간 업데이트 수행

워크로드 실행을 시작한 후 HostFirmareSettings 리소스에 대한 실시간 업데이트를 수행할 수 있습니다. 실시간 업데이트는 프로비저닝 해제 및 호스트 재프로비저닝을 트리거하지 않습니다.

중요

호스트를 실시간 업데이트하는 것은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

사전 요구 사항

  • HostUpdatePolicy 리소스에는 onReboot 로 설정된 firmwareSettings 매개변수가 있어야 합니다.

프로세스

  1. 다음 명령을 실행하여 HostFirmwareSettings 리소스를 업데이트합니다.

    $ oc patch hostfirmwaresettings <hostname> --type merge -p \
    1
    
        '{"spec": {"settings": {"<name>": "<value>"}}}' 
    2
    Copy to Clipboard Toggle word wrap
    1
    & lt;hostname >을 호스트 이름으로 바꿉니다.
    2
    < name >을 설정 이름으로 변경합니다. & lt;value >를 설정 값으로 바꿉니다. 여러 이름-값 쌍을 설정할 수 있습니다.
    참고

    FirmwareSchema 리소스를 가져와서 하드웨어가 지원하는 설정과 업데이트할 수 있는 설정을 확인합니다. 읽기 전용 값은 업데이트할 수 없으며 FirmwareSchema 리소스를 업데이트할 수 없습니다. oc edit <hostname> hostfirmwaresettings -n openshift-machine-api 명령을 사용하여 HostFirmwareSettings 리소스를 업데이트할 수도 있습니다.

  2. 다음 명령을 실행하여 노드를 차단하고 드레이닝합니다.

    $ oc drain <node_name> --force 
    1
    Copy to Clipboard Toggle word wrap
    1
    $ NODE_NAME을 노드 이름으로 바꿉니다.
  3. 다음 명령을 실행하여 5분 동안 호스트의 전원을 끕니다.

    $ oc patch bmh <hostname> --type merge -p '{"spec": {"online": false}}'
    Copy to Clipboard Toggle word wrap

    이 단계에서는 데몬 세트 또는 컨트롤러에서 호스트에서 실행 중일 수 있는 인프라 Pod를 오프라인으로 표시할 수 있는 반면 나머지 호스트는 들어오는 요청을 처리할 수 있습니다.

  4. 5분 후 다음 명령을 실행하여 호스트의 전원을 켭니다.

    $ oc patch bmh <hostname> --type merge -p '{"spec": {"online": true}}'
    Copy to Clipboard Toggle word wrap

    서비스 작업이 시작되고 Bare Metal Operator(BMO)는 BareMetalHostoperationalStatus 매개변수를 service로 설정합니다. BMO는 리소스를 업데이트한 후 operationalStatus 매개변수를 OK 로 업데이트합니다. 오류가 발생하면 BMO에서 operationalStatus 매개변수를 업데이트하여 오류를 보고 작업을 다시 시도합니다.

  5. Ironic이 업데이트 및 호스트의 전원을 켜면 다음 명령을 실행하여 노드를 분리합니다.

    $ oc uncordon <node_name>
    Copy to Clipboard Toggle word wrap

4.7.12. HostFirmware 설정 리소스가 유효한지 확인

사용자가 spec.settings 섹션을 편집하여 HFS( HostFirmwareSetting) 리소스를 변경하면 Bare Metal Operator(BMO)는 읽기 전용 리소스인 FimwareSchema 리소스에 대한 변경 사항을 검증합니다. 설정이 유효하지 않으면 BMO에서 status.Condition 설정의 Type 값을 False 로 설정하고 이벤트를 생성하여 HFS 리소스에 저장합니다. 다음 절차를 사용하여 리소스가 유효한지 확인합니다.

프로세스

  1. HostFirmwareSetting 리소스 목록을 가져옵니다.

    $ oc get hfs -n openshift-machine-api
    Copy to Clipboard Toggle word wrap
  2. 특정 호스트의 HostFirmwareSettings 리소스가 유효한지 확인합니다.

    $ oc describe hfs <host_name> -n openshift-machine-api
    Copy to Clipboard Toggle word wrap

    여기서 <host_name >은 호스트의 이름입니다.

    출력 예

    Events:
      Type    Reason            Age    From                                    Message
      ----    ------            ----   ----                                    -------
      Normal  ValidationFailed  2m49s  metal3-hostfirmwaresettings-controller  Invalid BIOS setting: Setting ProcTurboMode is invalid, unknown enumeration value - Foo
    Copy to Clipboard Toggle word wrap

    중요

    응답이 ValidationFailed 를 반환하는 경우 리소스 구성에 오류가 있으며 FirmwareSchema 리소스를 준수하도록 값을 업데이트해야 합니다.

4.7.13. FirmwareSchema 리소스 정보

펌웨어 설정은 하드웨어 벤더 및 호스트 모델에 따라 다릅니다. FirmwareSchema 리소스는 각 호스트 모델의 각 BIOS 설정에 대한 유형 및 제한이 포함된 읽기 전용 리소스입니다. 데이터는 Ironic을 통해 BMC에서 직접 가져옵니다. FirmwareSchema 를 사용하면 HostFirmwareSettings 리소스의 spec 필드에 지정할 수 있는 유효한 값을 식별할 수 있습니다. FirmwareSchema 리소스에는 설정 및 제한에서 파생된 고유 식별자가 있습니다. 동일한 호스트 모델은 동일한 FirmwareSchema 식별자를 사용합니다. HostFirmwareSettings 의 여러 인스턴스가 동일한 FirmwareSchema 를 사용할 가능성이 큽니다.

Expand
표 4.4. FirmwareSchema specification
매개 변수설명
<BIOS_setting_name>
  attribute_type:
  allowable_values:
  lower_bound:
  upper_bound:
  min_length:
  max_length:
  read_only:
  unique:
Copy to Clipboard Toggle word wrap

사양 은 BIOS 설정 이름과 설정의 제한으로 구성된 간단한 맵입니다. 필드는 다음과 같습니다.

  • attribute_type: 설정 유형입니다. 지원되는 유형은 다음과 같습니다.

    • 열거
    • 정수
    • 문자열
    • 부울
  • allowable_values: attribute_typeEnumeration 인 경우 허용 가능한 값 목록입니다.
  • lower_bound: attribute_typeInteger 일 때 가장 낮은 허용 값입니다.
  • upper_bound: attribute_typeInteger 일 때 허용되는 가장 높은 값입니다.
  • min_length: attribute_type 이 문자열일 때 값을 가질 수 있는 가장 짧은 문자열 길이입니다.
  • max_length: attribute_type 이 문자열일 때 값을 가질 수 있는 가장 긴 문자열 길이입니다.
  • READ_ONLY: 설정이 읽기 전용이며 수정할 수 없습니다.
  • unique: 설정은 이 호스트에 따라 다릅니다.

4.7.14. FirmwareSchema 리소스 가져오기

각 벤더의 호스트 모델에는 서로 다른 BIOS 설정이 있습니다. HostFirmwareSettings 리소스의 spec 섹션을 편집할 때 설정한 이름/값 쌍은 해당 호스트의 펌웨어 스키마를 준수해야 합니다. 유효한 이름/값 쌍을 설정하려면 호스트의 FirmwareSchema 를 가져와서 검토합니다.

프로세스

  1. 다음 명령을 실행하여 FirmwareSchema 리소스 인스턴스 목록을 가져옵니다.

    $ oc get firmwareschema -n openshift-machine-api
    Copy to Clipboard Toggle word wrap
  2. 다음 명령을 실행하여 특정 FirmwareSchema 인스턴스를 가져옵니다.

    $ oc get firmwareschema <instance_name> -n openshift-machine-api -o yaml
    Copy to Clipboard Toggle word wrap

    여기서 <instance_name >은 HostFirmwareSettings 리소스에 명시된 스키마 인스턴스의 이름입니다(표 3 참조).

4.7.15. HostFirmwareComponents 리소스 정보

Metal3 에서는 BIOS 및 BMC(Baseboard Management Controller) 펌웨어 버전을 설명하는 HostFirmwareComponents 리소스를 제공합니다. HostFirmwareComponents 리소스에는 다음 두 섹션이 포함되어 있습니다.

  1. HostFirmwareComponents 사양
  2. HostFirmwareComponents 상태

4.7.15.1. HostFirmwareComponents 사양

HostFirmwareComponents 리소스의 spec 섹션에서는 호스트의 BIOS 및 BMC 버전의 원하는 상태를 정의합니다.

Expand
표 4.5. HostFirmwareComponents 사양
매개 변수설명
updates:
  component:
  url:
Copy to Clipboard Toggle word wrap

업데이트 구성 설정에는 업데이트할 구성 요소가 포함되어 있습니다. 필드는 다음과 같습니다.

  • 구성 요소의 이름입니다.The name of the component. 유효한 설정은 bios 또는 bmc 입니다.
  • URL: 구성 요소의 펌웨어 사양 및 버전의 URL입니다.

4.7.15.2. HostFirmwareComponents 상태

HostFirmwareComponents 리소스의 status 섹션은 호스트의 BIOS 및 BMC 버전의 현재 상태를 반환합니다.

Expand
표 4.6. HostFirmwareComponents 상태
매개 변수설명
components:
  component:
  initialVersion:
  currentVersion:
  lastVersionFlashed:
  updatedAt:
Copy to Clipboard Toggle word wrap

components 섹션에는 구성 요소의 상태가 포함되어 있습니다. 필드는 다음과 같습니다.

  • component: 펌웨어 구성 요소의 이름입니다. bios 또는 bmc 를 반환합니다.
  • initialVersion: 구성 요소의 초기 펌웨어 버전입니다. Ironic은 BareMetalHost 리소스를 생성할 때 이 정보를 검색합니다. 변경할 수 없습니다.
  • CurrentVersion - 구성 요소의 현재 펌웨어 버전입니다. 처음에는 Ironic이 베어 메탈 호스트의 펌웨어를 업데이트할 때까지 initialVersion 값과 일치합니다.
  • lastVersionFlashed: 베어 메탈 호스트에서 플래시된 구성 요소의 마지막 펌웨어 버전입니다. 이 필드는 Ironic이 펌웨어를 업데이트할 때까지 null 을 반환합니다.
  • updatedAt: Ironic에서 베어 메탈 호스트의 펌웨어를 업데이트한 타임스탬프입니다.
updates:
  component:
  url:
Copy to Clipboard Toggle word wrap

업데이트 구성 설정에는 업데이트된 구성 요소가 포함되어 있습니다. 필드는 다음과 같습니다.

  • 구성 요소의 이름입니다.The name of the component.
  • URL: 구성 요소의 펌웨어 사양 및 버전의 URL입니다.

4.7.16. HostFirmwareComponents 리소스 가져오기

HostFirmwareComponents 리소스에는 물리적 호스트의 BIOS 및 BMC(Baseboard Management Controller)의 특정 펌웨어 버전이 포함되어 있습니다. 펌웨어 버전 및 상태를 검토하려면 물리적 호스트의 HostFirmwareComponents 리소스를 가져와야 합니다.

프로세스

  1. 다음 명령을 실행하여 HostFirmwareComponents 리소스의 자세한 목록을 가져옵니다.

    $ oc get hostfirmwarecomponents -n openshift-machine-api -o yaml
    Copy to Clipboard Toggle word wrap
  2. 다음 명령을 실행하여 HostFirmwareComponents 리소스 목록을 가져옵니다.

    $ oc get hostfirmwarecomponents -n openshift-machine-api
    Copy to Clipboard Toggle word wrap
  3. 다음 명령을 실행하여 특정 호스트에 대한 HostFirmwareComponents 리소스를 가져옵니다.

    $ oc get hostfirmwarecomponents <host_name> -n openshift-machine-api -o yaml
    Copy to Clipboard Toggle word wrap

    여기서 <host_name >은 호스트의 이름입니다.

    출력 예

    ---
    apiVersion: metal3.io/v1alpha1
    kind: HostFirmwareComponents
    metadata:
      creationTimestamp: 2024-04-25T20:32:06Z"
      generation: 1
      name: ostest-master-2
      namespace: openshift-machine-api
      ownerReferences:
      - apiVersion: metal3.io/v1alpha1
        blockOwnerDeletion: true
        controller: true
        kind: BareMetalHost
        name: ostest-master-2
        uid: 16022566-7850-4dc8-9e7d-f216211d4195
      resourceVersion: "2437"
      uid: 2038d63f-afc0-4413-8ffe-2f8e098d1f6c
    spec:
      updates: []
    status:
      components:
      - component: bios
        currentVersion: 1.0.0
        initialVersion: 1.0.0
      - component: bmc
        currentVersion: "1.00"
        initialVersion: "1.00"
      conditions:
      - lastTransitionTime: "2024-04-25T20:32:06Z"
        message: ""
        observedGeneration: 1
        reason: OK
        status: "True"
        type: Valid
      - lastTransitionTime: "2024-04-25T20:32:06Z"
        message: ""
        observedGeneration: 1
        reason: OK
        status: "False"
        type: ChangeDetected
      lastUpdated: "2024-04-25T20:32:06Z"
      updates: []
    Copy to Clipboard Toggle word wrap

4.7.17. 프로비저닝된 호스트의 HostFirmwareComponents 리소스 편집

프로비저닝된 호스트의 HostFirmwareComponents 리소스를 편집할 수 있습니다.

프로세스

  1. 다음 명령을 실행하여 HostFirmwareComponents 리소스의 자세한 목록을 가져옵니다.

    $ oc get hostfirmwarecomponents -n openshift-machine-api -o yaml
    Copy to Clipboard Toggle word wrap
  2. 다음 명령을 실행하여 HostFirmwareComponents 리소스를 편집합니다.

    $ oc edit <hostname> hostfirmwarecomponents -n openshift-machine-api 
    1
    Copy to Clipboard Toggle word wrap
    1
    여기서 <hostname >은 호스트의 이름입니다. HostFirmwareComponents 리소스가 터미널의 기본 편집기에서 열립니다.
  3. 적절한 편집을 수행합니다.

    출력 예

    ---
    apiVersion: metal3.io/v1alpha1
    kind: HostFirmwareComponents
    metadata:
      creationTimestamp: 2024-04-25T20:32:06Z"
      generation: 1
      name: ostest-master-2
      namespace: openshift-machine-api
      ownerReferences:
      - apiVersion: metal3.io/v1alpha1
        blockOwnerDeletion: true
        controller: true
        kind: BareMetalHost
        name: ostest-master-2
        uid: 16022566-7850-4dc8-9e7d-f216211d4195
      resourceVersion: "2437"
      uid: 2038d63f-afc0-4413-8ffe-2f8e098d1f6c
    spec:
      updates:
        - name: bios 
    1
    
          url: https://myurl.with.firmware.for.bios 
    2
    
        - name: bmc 
    3
    
          url: https://myurl.with.firmware.for.bmc 
    4
    
    status:
      components:
      - component: bios
        currentVersion: 1.0.0
        initialVersion: 1.0.0
      - component: bmc
        currentVersion: "1.00"
        initialVersion: "1.00"
      conditions:
      - lastTransitionTime: "2024-04-25T20:32:06Z"
        message: ""
        observedGeneration: 1
        reason: OK
        status: "True"
        type: Valid
      - lastTransitionTime: "2024-04-25T20:32:06Z"
        message: ""
        observedGeneration: 1
        reason: OK
        status: "False"
        type: ChangeDetected
      lastUpdated: "2024-04-25T20:32:06Z"
    Copy to Clipboard Toggle word wrap

    1
    BIOS 버전을 설정하려면 name 속성을 bios 로 설정합니다.
    2
    BIOS 버전을 설정하려면 url 속성을 BIOS의 펌웨어 버전의 URL로 설정합니다.
    3
    BMC 버전을 설정하려면 name 속성을 bmc 로 설정합니다.
    4
    BMC 버전을 설정하려면 BMC의 펌웨어 버전의 URL로 url 속성을 설정합니다.
  4. 변경 사항을 저장하고 편집기를 종료합니다.
  5. 다음 명령을 실행하여 호스트 머신 이름을 가져옵니다.

    $ oc get bmh <host_name> -n openshift-machine name 
    1
    Copy to Clipboard Toggle word wrap
    1
    여기서 <host_name >은 호스트의 이름입니다. 터미널에는 CONSUMER 필드에 시스템 이름이 표시됩니다.
  6. 다음 명령을 실행하여 머신 세트에서 삭제할 머신에 주석을 답니다.

    $ oc annotate machine <machine_name> machine.openshift.io/delete-machine=true -n openshift-machine-api 
    1
    Copy to Clipboard Toggle word wrap
    1
    여기서 <machine_name >은 삭제할 머신의 이름입니다.
  7. 다음 명령을 실행하여 노드 목록을 가져오고 작업자 노드 수를 계산합니다.

    $ oc get nodes
    Copy to Clipboard Toggle word wrap
  8. 다음 명령을 실행하여 머신 세트를 가져옵니다.

    $ oc get machinesets -n openshift-machine-api
    Copy to Clipboard Toggle word wrap
  9. 다음 명령을 실행하여 머신 세트를 축소합니다.

    $ oc scale machineset <machineset_name> -n openshift-machine-api --replicas=<n-1> 
    1
    Copy to Clipboard Toggle word wrap
    1
    여기서 <machineset_name >은 머신 세트의 이름이며 < n-1 >은 감소된 작업자 노드 수입니다.
  10. 호스트가 Available 상태가 되면 다음 명령을 실행하여 HostFirmwareComponents 리소스 변경 사항을 적용하도록 시스템 세트를 확장합니다.

    $ oc scale machineset <machineset_name> -n openshift-machine-api --replicas=<n> 
    1
    Copy to Clipboard Toggle word wrap
    1
    여기서 <machineset_name >은 머신 세트의 이름이며 < n >은 작업자 노드 수입니다.

4.7.18. HostFirmwareComponents 리소스에 대한 실시간 업데이트 수행

이미 프로비저닝된 호스트에서 HostFirmwareComponents 리소스에 대한 실시간 업데이트를 수행할 수 있습니다. 실시간 업데이트는 프로비저닝 해제 및 호스트 재프로비저닝을 트리거하지 않습니다.

중요

호스트를 실시간 업데이트하는 것은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

중요

프로덕션 호스트에서 실시간 업데이트를 수행하지 마십시오. 테스트를 위해 BIOS에 대한 실시간 업데이트를 수행할 수 있습니다. 특히 이전 세대 하드웨어에서 테스트 목적으로 OpenShift Container Platform 4.19에서 BMC에 대한 실시간 업데이트를 수행하지 않는 것이 좋습니다.

사전 요구 사항

  • HostUpdatePolicy 리소스에는 firmwareUpdates 매개변수가 onReboot 로 설정되어 있어야 합니다.

프로세스

  1. 다음 명령을 실행하여 HostFirmwareComponents 리소스를 업데이트합니다.

    $ oc patch hostfirmwarecomponents <hostname> --type merge -p \
    1
    
        '{"spec": {"updates": [{"component": "<type>", \
    2
    
                            "url": "<url>"}]}}' 
    3
    Copy to Clipboard Toggle word wrap
    1
    & lt;hostname >을 호스트 이름으로 바꿉니다.
    2
    &lt ;type& gt;을 구성 요소 유형으로 바꿉니다. bios 또는 bmc 를 지정합니다.
    3
    &lt ;url& gt;을 구성 요소의 URL로 바꿉니다.
    참고

    oc edit <hostname> hostfirmwarecomponents -n openshift-machine-api 명령을 사용하여 리소스를 업데이트할 수도 있습니다.

  2. 다음 명령을 실행하여 노드를 차단하고 드레이닝합니다.

    $ oc drain <node_name> --force 
    1
    Copy to Clipboard Toggle word wrap
    1
    $ NODE_NAME을 노드 이름으로 바꿉니다.
  3. 다음 명령을 실행하여 5분 동안 호스트의 전원을 끕니다.

    $ oc patch bmh <hostname> --type merge -p '{"spec": {"online": false}}'
    Copy to Clipboard Toggle word wrap

    이 단계에서는 데몬 세트 또는 컨트롤러에서 노드에서 실행 중일 수 있는 인프라 Pod를 오프라인으로 표시하는 반면 나머지 노드는 들어오는 요청을 처리합니다.

  4. 5분 후 다음 명령을 실행하여 호스트의 전원을 켭니다.

    $ oc patch bmh <hostname> --type merge -p '{"spec": {"online": true}}'
    Copy to Clipboard Toggle word wrap

    서비스 작업이 시작되고 Bare Metal Operator(BMO)는 BareMetalHostoperationalStatus 매개변수를 service로 설정합니다. BMO는 리소스를 업데이트한 후 operationalStatus 매개변수를 OK 로 업데이트합니다. 오류가 발생하면 BMO에서 operationalStatus 매개변수를 업데이트하여 오류를 보고 작업을 다시 시도합니다.

  5. 다음 명령을 실행하여 노드를 차단 해제합니다.

    $ oc uncordon <node_name>
    Copy to Clipboard Toggle word wrap

4.7.19. HostUpdatePolicy 리소스 정보

HostUpdatePolicy 리소스를 사용하여 각 베어 메탈 호스트의 펌웨어 설정, BMC 설정 또는 펌웨어 설정에 실시간 업데이트 적용을 활성화하거나 비활성화할 수 있습니다. 기본적으로 Operator는 기본적으로 이미 프로비저닝된 베어 메탈 호스트에 대한 실시간 업데이트를 비활성화합니다.

HostUpdatePolicy 사양

HostUpdatePolicy 리소스의 spec 섹션에서는 다음 두 가지 설정을 제공합니다.

firmwareSettings
이 설정은 HostFirmwareSettings 리소스에 해당합니다.
firmwareUpdates
이 설정은 HostFirmwareComponents 리소스에 해당합니다.

값을 onPreparing 으로 설정하면 기본 설정인 프로비저닝 중에만 호스트를 업데이트할 수 있습니다. 값을 onReboot 로 설정하면 리소스를 적용하고 베어 메탈 호스트를 재부팅하여 프로비저닝된 호스트를 업데이트할 수 있습니다. 그런 다음 HostFirmwareSettings 또는 HostFirmwareComponents 리소스를 편집하는 절차를 따르십시오.

HostUpdatePolicy 리소스 예

apiVersion: metal3.io/v1alpha1
kind: HostUpdatePolicy
metadata:
  name: <hostname> 
1

  namespace: openshift-machine-api
spec:
  firmwareSettings: <setting> 
2

  firmwareUpdates: <setting>
Copy to Clipboard Toggle word wrap

1
베어 메탈 호스트의 이름입니다.
2
업데이트 정책 설정입니다. 실시간 업데이트를 비활성화하려면 onPreparing 을 지정합니다. 실시간 업데이트를 활성화하려면 onReboot 를 지정합니다.

4.7.20. HostUpdatePolicy 리소스 설정

기본적으로 HostUpdatePolicy 는 실시간 업데이트를 비활성화합니다. 실시간 업데이트를 활성화하려면 다음 절차를 사용하십시오.

중요

HostUpdatePolicy 리소스 설정은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

프로세스

  1. 다음 명령을 실행하여 HostUpdatePolicy 리소스를 생성합니다.

    $ vim hup.yaml
    Copy to Clipboard Toggle word wrap

    원하는 텍스트 편집기를 사용할 수 있습니다.

    HostUpdatePolicy 리소스 예

    apiVersion: metal3.io/v1alpha1
    kind: HostUpdatePolicy
    metadata:
      name: <hostname> 
    1
    
      namespace: openshift-machine-api
    spec:
      firmwareSettings: onReboot
      firmwareUpdates: onReboot
    Copy to Clipboard Toggle word wrap

    1
    & lt;hostname >을 호스트 이름으로 바꿉니다.
  2. hup.yaml 파일에 변경 사항을 저장합니다.
  3. 다음 명령을 실행하여 정책을 적용합니다.

    $ oc apply -f hup.yaml
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat