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 が返す情報が入力されます。Ironic API は、ファームウェア設定タイプ、許容値、範囲、フラグなど、ホストのファームウェアインターフェイスに関する情報を返します。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • Red Hat Advanced Cluster Management (RHACM) をインストールを完了し、cluster-admin 権限を持つユーザーとしてハブクラスターにログインしている。
  • 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) がインストールされている。
  • Red Hat Advanced Cluster Management (RHACM) をインストールを完了し、cluster-admin 権限を持つユーザーとしてハブクラスターにログインしている。
  • 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. オプション: クラスターの HostFirmwareSettings (hfs) カスタムリソースのステータスを確認します。

    $ 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) がインストールされている。
  • Red Hat Advanced Cluster Management (RHACM) をインストールを完了し、cluster-admin 権限を持つユーザーとしてハブクラスターにログインしている。
  • RHACM によって管理されるクラスターをプロビジョニングした。
  • カスタムサイトの設定データを管理する Git リポジトリーを作成している。リポジトリーはハブクラスターからアクセス可能で、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
    サイト全体のすべてのクラスターホストにハードウェアプロファイルを適用します。
    注記

    可能な場合は、クラスターごとに 1 つの SiteConfig CR を使用してください。

  4. オプション: 特定のクラスター内のホストにハードウェアプロファイルを適用するには、clusters.biosConfigRef.filePath を適用するハードウェアプロファイルで更新します。以下に例を示します。

    clusters:
      - clusterName: "cluster-1"
        # ...
        biosConfigRef:
          filePath: "./host-firmware.profile" 1
    1
    cluster-1 クラスター内のすべてのホストに適用されます。
  5. オプション: クラスター内の特定のホストにハードウェアプロファイルを適用するには、clusters.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. SiteConfig CR と関連する kustomization.yaml の変更を Git リポジトリーにコミットし、変更をプッシュします。

    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 では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.