4.6. GitOps ZTP를 사용하여 호스트 펌웨어 설정 관리


호스트에는 고성능과 최적의 효율성을 보장하기 위해 올바른 펌웨어 구성이 필요합니다. GitOps ZTP를 사용하여 관리 클러스터의 사용자 정의 호스트 펌웨어 구성을 배포할 수 있습니다.

랩의 특정 하드웨어 프로필로 호스트를 튜닝하고 요구 사항에 맞게 최적화되었는지 확인합니다. 만족에 대한 호스트 튜닝을 완료한 경우 호스트 프로필을 추출하여 GitOps ZTP 리포지토리에 저장합니다. 그런 다음 호스트 프로필을 사용하여 GitOps ZTP로 배포하는 관리 클러스터 호스트에서 펌웨어 설정을 구성합니다.

관리 클러스터를 배포하는 데 사용하는 site Config CR(사용자 정의 리소스)에서 필요한 하드웨어 프로필을 지정합니다. GitOps ZTP 파이프라인은 허브 클러스터에 적용되는 필수 HostFirmwareSettings (HFS) 및 BareMetalHost (BMH) CR을 생성합니다.

다음 모범 사례를 사용하여 호스트 펌웨어 프로필을 관리합니다.

하드웨어 벤더로 중요한 펌웨어 설정 확인
하드웨어 벤더와 협력하여 배포된 호스트 플랫폼과 최적의 성능 및 호환성에 필요한 중요한 호스트 펌웨어 설정을 식별하고 문서화하십시오.
유사한 하드웨어 플랫폼에서 공통 펌웨어 구성 사용
가능한 경우 유사한 하드웨어 플랫폼에서 표준화된 호스트 펌웨어 구성을 사용하여 배포 중에 복잡성과 잠재적 오류를 줄입니다.
랩 환경에서 펌웨어 구성 테스트
설정이 하드웨어, 펌웨어 및 소프트웨어와 호환되는지 확인하기 위해 프로덕션에 배포하기 전에 제어된 랩 환경에서 호스트 펌웨어 구성을 테스트합니다.
소스 제어에서 펌웨어 프로필 관리
Git 리포지토리에서 호스트 펌웨어 프로필을 관리하여 변경 사항을 추적하고 일관성을 보장하며 벤더와의 협업이 용이해집니다.

4.6.1. 관리 클러스터의 호스트 펌웨어 스키마 검색

관리 클러스터의 호스트 펌웨어 스키마를 검색할 수 있습니다. 베어 메탈 호스트의 호스트 펌웨어 스키마는 Ironic API에서 반환하는 정보로 채워집니다. API는 펌웨어 설정 유형, 허용 가능한 값, 범위 및 플래그를 포함하여 호스트 펌웨어 인터페이스에 대한 정보를 반환합니다.

사전 요구 사항

  • OpenShift CLI(oc)가 설치되어 있습니다.
  • RHACM(Red Hat Advanced Cluster Management)을 설치하고 cluster-admin 권한이 있는 사용자로 hub 클러스터에 로그인했습니다.
  • RHACM에서 관리하는 클러스터를 프로비저닝했습니다.

프로세스

  • 관리 클러스터의 호스트 펌웨어 스키마를 검색합니다. 다음 명령을 실행합니다.

    $ oc get firmwareschema -n <managed_cluster_namespace> -o yaml

    출력 예

    apiVersion: v1
    items:
    - apiVersion: metal3.io/v1alpha1
      kind: FirmwareSchema
      metadata:
        creationTimestamp: "2024-09-11T10:29:43Z"
        generation: 1
        name: schema-40562318
        namespace: compute-1
        ownerReferences:
        - apiVersion: metal3.io/v1alpha1
          kind: HostFirmwareSettings
          name: compute-1.example.com
          uid: 65d0e89b-1cd8-4317-966d-2fbbbe033fe9
        resourceVersion: "280057624"
        uid: 511ad25d-f1c9-457b-9a96-776605c7b887
      spec:
        schema:
          AccessControlService:
            allowable_values:
            - Enabled
            - Disabled
            attribute_type: Enumeration
            read_only: false
          # ...

4.6.2. 관리 클러스터의 호스트 펌웨어 설정 검색

관리 클러스터의 호스트 펌웨어 설정을 검색할 수 있습니다. 이 기능은 호스트 펌웨어에 변경 사항을 배포하고 변경 사항을 모니터링하고 성공적으로 적용되도록 하려는 경우에 유용합니다.

사전 요구 사항

  • OpenShift CLI(oc)가 설치되어 있습니다.
  • RHACM(Red Hat Advanced Cluster Management)을 설치하고 cluster-admin 권한이 있는 사용자로 hub 클러스터에 로그인했습니다.
  • RHACM에서 관리하는 클러스터를 프로비저닝했습니다.

프로세스

  1. 관리 클러스터의 호스트 펌웨어 설정을 검색합니다. 다음 명령을 실행합니다.

    $ oc get hostfirmwaresettings -n <cluster_namespace> <node_name> -o yaml

    출력 예

    apiVersion: v1
    items:
    - apiVersion: metal3.io/v1alpha1
      kind: HostFirmwareSettings
      metadata:
        creationTimestamp: "2024-09-11T10:29:43Z"
        generation: 1
        name: compute-1.example.com
        namespace: kni-qe-24
        ownerReferences:
        - apiVersion: metal3.io/v1alpha1
          blockOwnerDeletion: true
          controller: true
          kind: BareMetalHost
          name: compute-1.example.com
          uid: 0baddbb7-bb34-4224-8427-3d01d91c9287
        resourceVersion: "280057626"
        uid: 65d0e89b-1cd8-4317-966d-2fbbbe033fe9
      spec:
        settings: {}
      status:
        conditions:
        - lastTransitionTime: "2024-09-11T10:29:43Z"
          message: ""
          observedGeneration: 1
          reason: Success
          status: "True" 1
          type: ChangeDetected
        - lastTransitionTime: "2024-09-11T10:29:43Z"
          message: Invalid BIOS setting
          observedGeneration: 1
          reason: ConfigurationError
          status: "False" 2
          type: Valid
        lastUpdated: "2024-09-11T10:29:43Z"
        schema:
          name: schema-40562318
          namespace: compute-1
        settings: 3
          AccessControlService: Enabled
          AcpiHpet: Enabled
          AcpiRootBridgePxm: Enabled
          # ...

    1
    호스트 펌웨어 설정의 변경 사항이 감지되었음을 나타냅니다.
    2
    호스트에 잘못된 펌웨어 설정이 있음을 나타냅니다.
    3
    구성된 호스트 펌웨어 설정의 전체 목록은 status.settings 필드에서 반환됩니다.
  2. 선택 사항: 클러스터에서 Hfs( HostFirmwareSettings )사용자정의 리소스의 상태를 확인합니다.

    $ oc get hfs -n <managed_cluster_namespace> <managed_cluster_name> -o jsonpath='{.status.conditions[?(@.type=="ChangeDetected")].status}'

    출력 예

    True

  3. 선택 사항: 클러스터 호스트에서 잘못된 펌웨어 설정을 확인합니다. 다음 명령을 실행합니다.

    $ oc get hfs -n <managed_cluster_namespace> <managed_cluster_name> -o jsonpath='{.status.conditions[?(@.type=="Valid")].status}'

    출력 예

    False

4.6.3. GitOps ZTP를 사용하여 클러스터 호스트에 사용자 정의 펌웨어 배포

클러스터 호스트 프로비저닝 중에 적용할 하드웨어 프로필을 포함하도록 SiteConfig CR(사용자 정의 리소스)을 구성하여 사용자 정의 펌웨어 설정을 클러스터 호스트에 배포할 수 있습니다. 다음 시나리오에서 호스트에 적용하도록 하드웨어 프로필을 구성할 수 있습니다.

  • 모든 호스트 사이트 전체
  • 특정 기준을 충족하는 클러스터 호스트만
  • 개별 클러스터 호스트
중요

계층 구조에 적용할 호스트 하드웨어 프로필을 구성할 수 있습니다. 클러스터 수준 설정은 사이트 전체 설정을 덮어씁니다. 노드 수준 프로필은 클러스터 및 사이트 수준 설정을 재정의합니다.

사전 요구 사항

  • OpenShift CLI(oc)가 설치되어 있습니다.
  • RHACM(Red Hat Advanced Cluster Management)을 설치하고 cluster-admin 권한이 있는 사용자로 hub 클러스터에 로그인했습니다.
  • RHACM에서 관리하는 클러스터를 프로비저닝했습니다.
  • 사용자 지정 사이트 구성 데이터를 관리하는 Git 리포지토리를 생성하셨습니다. 리포지토리는 hub 클러스터에서 액세스할 수 있어야 하며 Argo CD 애플리케이션의 소스 리포지토리로 정의해야 합니다.

프로세스

  1. 적용하려는 펌웨어 설정이 포함된 호스트 펌웨어 프로필을 생성합니다. 예를 들어 다음 YAML 파일을 생성합니다.

    host-firmware.profile

    BootMode: Uefi
    LogicalProc: Enabled
    ProcVirtualization: Enabled

  2. 클러스터를 프로비저닝하는 방법을 정의하는 데 사용하는 kustomization.yaml 파일을 기준으로 하드웨어 프로필 YAML 파일을 저장합니다. 예를 들면 다음과 같습니다.

    example-ztp/install
        └── site-install
              ├── siteconfig-example.yaml
              ├── kustomization.yaml
              └── host-firmware.profile
  3. 클러스터에 적용할 펌웨어 프로필을 포함하도록 SiteConfig CR을 편집합니다. 예를 들면 다음과 같습니다.

    apiVersion: ran.openshift.io/v1
    kind: SiteConfig
    metadata:
      name: "site-plan-cluster"
      namespace: "example-cluster-namespace"
    spec:
      baseDomain: "example.com"
      # ...
      biosConfigRef:
        filePath: "./host-firmware.profile" 1
    1
    하드웨어 프로필을 사이트 전체에서 모든 클러스터 호스트에 적용
    참고

    가능한 경우 클러스터당 단일 SiteConfig CR을 사용합니다.

  4. 선택 사항: 특정 클러스터의 호스트에 하드웨어 프로필을 적용하려면 적용하려는 하드웨어 프로필을 사용하여 cluster .biosConfigRef.filePath 를 업데이트합니다. 예를 들면 다음과 같습니다.

    clusters:
      - clusterName: "cluster-1"
        # ...
        biosConfigRef:
          filePath: "./host-firmware.profile" 1
    1
    cluster-1 클러스터의 모든 호스트에 적용
  5. 선택 사항: 클러스터의 특정 호스트에 하드웨어 프로필을 적용하려면 적용하려는 하드웨어 프로필을 사용하여 cluster .nodes.biosConfigRef.filePath 를 업데이트합니다. 예를 들면 다음과 같습니다.

    clusters:
      - clusterName: "cluster-1"
        # ...
        nodes:
          - hostName: "compute-1.example.com"
            # ...
            bootMode: "UEFI"
            biosConfigRef:
              filePath: "./host-firmware.profile" 1
    1
    펌웨어 프로필을 클러스터의 compute-1.example.com 호스트에 적용
  6. 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}'

    출력 예

    True

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.