4.6. GitOps ZTP를 사용하여 호스트 펌웨어 설정 관리
호스트에는 높은 성능과 최적의 효율성을 보장하기 위한 올바른 펌웨어 구성이 필요합니다. GitOps ZTP를 사용하면 관리형 클러스터에 대한 사용자 정의 호스트 펌웨어 구성을 배포할 수 있습니다.
실험실의 특정 하드웨어 프로필에 맞게 호스트를 조정하고 요구 사항에 맞게 최적화되었는지 확인하세요. 원하는 대로 호스트 튜닝을 완료하면 호스트 프로필을 추출하여 GitOps ZTP 저장소에 저장합니다. 그런 다음 호스트 프로필을 사용하여 GitOps ZTP로 배포하는 관리형 클러스터 호스트에서 펌웨어 설정을 구성합니다.
관리되는 클러스터를 배포하는 데 사용하는 SiteConfig
사용자 정의 리소스(CR)에서 필요한 하드웨어 프로필을 지정합니다. GitOps ZTP 파이프라인은 허브 클러스터에 적용되는 필수 HostFirmwareSettings
( HFS
) 및 BareMetalHost
( BMH
) CR을 생성합니다.
호스트 펌웨어 프로필을 관리하려면 다음 모범 사례를 활용하세요.
- 하드웨어 공급업체와 함께 중요한 펌웨어 설정 식별
- 최적의 성능과 배포된 호스트 플랫폼과의 호환성에 필요한 중요한 호스트 펌웨어 설정을 식별하고 문서화하기 위해 하드웨어 공급업체와 협력합니다.
- 유사한 하드웨어 플랫폼에서 공통 펌웨어 구성을 사용합니다.
- 가능하다면 유사한 하드웨어 플랫폼에서 표준화된 호스트 펌웨어 구성을 사용하여 배포 중에 발생할 수 있는 복잡성과 잠재적 오류를 줄이세요.
- 실험실 환경에서 펌웨어 구성 테스트
- 프로덕션에 배포하기 전에 통제된 실험실 환경에서 호스트 펌웨어 구성을 테스트하여 설정이 하드웨어, 펌웨어 및 소프트웨어와 호환되는지 확인합니다.
- 소스 제어에서 펌웨어 프로필 관리
- Git 저장소에서 호스트 펌웨어 프로필을 관리하여 변경 사항을 추적하고, 일관성을 유지하고, 공급업체와의 협업을 용이하게 합니다.
4.6.1. 관리되는 클러스터에 대한 호스트 펌웨어 스키마 검색 링크 복사링크가 클립보드에 복사되었습니다!
관리형 클러스터의 호스트 펌웨어 스키마를 알아볼 수 있습니다. 베어 메탈 호스트의 호스트 펌웨어 스키마는 Ironic API가 반환하는 정보로 채워집니다. API는 펌웨어 설정 유형, 허용 값, 범위, 플래그를 포함한 호스트 펌웨어 인터페이스에 대한 정보를 반환합니다.
사전 요구 사항
-
OpenShift CLI(
oc
)가 설치되어 있습니다. -
Red Hat Advanced Cluster Management(RHACM)를 설치하고
cluster-admin
권한이 있는 사용자로 허브 클러스터에 로그인했습니다. - RHACM에서 관리하는 클러스터를 프로비저닝했습니다.
프로세스
관리 클러스터의 호스트 펌웨어 스키마를 검색합니다. 다음 명령을 실행합니다.
oc get firmwareschema -n <managed_cluster_namespace> -o yaml
$ oc get firmwareschema -n <managed_cluster_namespace> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.2. 관리 클러스터의 호스트 펌웨어 설정 검색 링크 복사링크가 클립보드에 복사되었습니다!
관리 클러스터의 호스트 펌웨어 설정을 검색할 수 있습니다. 이 기능은 호스트 펌웨어에 변경 사항을 배포하고 변경 사항을 모니터링하고 성공적으로 적용되도록 하려는 경우에 유용합니다.
사전 요구 사항
-
OpenShift CLI(
oc
)가 설치되어 있습니다. -
RHACM(Red Hat Advanced Cluster Management)을 설치하고
cluster-admin
권한이 있는 사용자로 hub 클러스터에 로그인했습니다. - RHACM에서 관리하는 클러스터를 프로비저닝했습니다.
프로세스
관리 클러스터의 호스트 펌웨어 설정을 검색합니다. 다음 명령을 실행합니다.
oc get hostfirmwaresettings -n <cluster_namespace> <node_name> -o yaml
$ oc get hostfirmwaresettings -n <cluster_namespace> <node_name> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 클러스터에서 Hfs(
HostFirmwareSettings
)사용자
정의 리소스의 상태를 확인합니다.oc get hfs -n <managed_cluster_namespace> <managed_cluster_name> -o jsonpath='{.status.conditions[?(@.type=="ChangeDetected")].status}'
$ oc get hfs -n <managed_cluster_namespace> <managed_cluster_name> -o jsonpath='{.status.conditions[?(@.type=="ChangeDetected")].status}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
True
True
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 클러스터 호스트에서 잘못된 펌웨어 설정을 확인합니다. 다음 명령을 실행합니다.
oc get hfs -n <managed_cluster_namespace> <managed_cluster_name> -o jsonpath='{.status.conditions[?(@.type=="Valid")].status}'
$ oc get hfs -n <managed_cluster_namespace> <managed_cluster_name> -o jsonpath='{.status.conditions[?(@.type=="Valid")].status}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
False
False
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.3. GitOps ZTP를 사용하여 클러스터 호스트에 사용자 정의 펌웨어 배포 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 호스트 프로비저닝 중에 적용할 하드웨어 프로필을 포함하도록 SiteConfig
CR(사용자 정의 리소스)을 구성하여 사용자 정의 펌웨어 설정을 클러스터 호스트에 배포할 수 있습니다. 다음 시나리오에서 호스트에 적용하도록 하드웨어 프로필을 구성할 수 있습니다.
- 모든 호스트 사이트 전체
- 특정 기준을 충족하는 클러스터 호스트만
- 개별 클러스터 호스트
계층 구조에 적용할 호스트 하드웨어 프로필을 구성할 수 있습니다. 클러스터 수준 설정은 사이트 전체 설정을 덮어씁니다. 노드 수준 프로필은 클러스터 및 사이트 수준 설정을 재정의합니다.
사전 요구 사항
-
OpenShift CLI(
oc
)가 설치되어 있습니다. -
RHACM(Red Hat Advanced Cluster Management)을 설치하고
cluster-admin
권한이 있는 사용자로 hub 클러스터에 로그인했습니다. - RHACM에서 관리하는 클러스터를 프로비저닝했습니다.
- 사용자 지정 사이트 구성 데이터를 관리하는 Git 리포지토리를 생성하셨습니다. 리포지토리는 hub 클러스터에서 액세스할 수 있어야 하며 Argo CD 애플리케이션의 소스 리포지토리로 정의해야 합니다.
프로세스
적용하려는 펌웨어 설정이 포함된 호스트 펌웨어 프로필을 생성합니다. 예를 들어 다음 YAML 파일을 생성합니다.
host-firmware.profile
BootMode: Uefi LogicalProc: Enabled ProcVirtualization: Enabled
BootMode: Uefi LogicalProc: Enabled ProcVirtualization: Enabled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터를 프로비저닝하는 방법을 정의하는 데 사용하는
kustomization.yaml
파일을 기준으로 하드웨어 프로필 YAML 파일을 저장합니다. 예를 들면 다음과 같습니다.example-ztp/install └── site-install ├── siteconfig-example.yaml ├── kustomization.yaml └── host-firmware.profile
example-ztp/install └── site-install ├── siteconfig-example.yaml ├── kustomization.yaml └── host-firmware.profile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터에 적용할 펌웨어 프로필을 포함하도록
SiteConfig
CR을 편집합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 하드웨어 프로필을 사이트 전체에서 모든 클러스터 호스트에 적용
참고가능한 경우 클러스터당 단일
SiteConfig
CR을 사용합니다.선택 사항입니다. 특정 클러스터의 호스트에 하드웨어 프로필을 적용하려면 적용하려는 하드웨어 프로필을 사용하여 cluster
.biosConfigRef.filePath
를 업데이트합니다. 예를 들면 다음과 같습니다.clusters: - clusterName: "cluster-1" # ... biosConfigRef: filePath: "./host-firmware.profile"
clusters: - clusterName: "cluster-1" # ... biosConfigRef: filePath: "./host-firmware.profile"
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
cluster-1
클러스터의 모든 호스트에 적용
선택 사항입니다. 클러스터의 특정 호스트에 하드웨어 프로필을 적용하려면 적용하려는 하드웨어 프로필을 사용하여 cluster
.nodes.biosConfigRef.filePath
를 업데이트합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 펌웨어 프로필을 클러스터의
compute-1.example.com
호스트에 적용
Git 리포지토리에서
SiteConfig
CR 및 관련kustomization.yaml
변경 사항을 커밋하고 변경 사항을 내보냅니다.ArgoCD 파이프라인은 변경 사항을 감지하고 관리 클러스터 배포를 시작합니다.
참고클러스터 배포는 잘못된 펌웨어 설정이 감지된 경우에도 진행됩니다. GitOps ZTP를 사용하여 수정 사항을 적용하려면 수정된 하드웨어 프로필로 클러스터를 재배포합니다.
검증
펌웨어 설정이 관리 클러스터 호스트에 적용되었는지 확인합니다. 예를 들어 다음 명령을 실행합니다.
oc get hfs -n <managed_cluster_namespace> <managed_cluster_name> -o jsonpath='{.status.conditions[?(@.type=="Valid")].status}'
$ oc get hfs -n <managed_cluster_namespace> <managed_cluster_name> -o jsonpath='{.status.conditions[?(@.type=="Valid")].status}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
True
True
Copy to Clipboard Copied! Toggle word wrap Toggle overflow