4.6.3. GitOps ZTP を使用してユーザー定義のファームウェアをクラスターホストにデプロイする
SiteConfig カスタムリソース (CR) を設定し、クラスターホストのプロビジョニング中に適用するハードウェアプロファイルを含めることで、ユーザー定義のファームウェア設定をクラスターホストにデプロイできます。次のホストを対象に、適用するハードウェアプロファイルを設定できます。
- サイト全体のすべてのホスト
- 特定の条件を満たすクラスターホストのみ
- 個々のクラスターホスト
ホストのハードウェアプロファイルは、階層的に適用するように設定できます。クラスターレベルの設定は、サイト全体の設定をオーバーライドします。ノードレベルのプロファイルは、クラスターレベルの設定とサイト全体の設定をオーバーライドします。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
Red Hat Advanced Cluster Management (RHACM) をインストールを完了し、
cluster-admin権限を持つユーザーとしてハブクラスターにログインしている。 - RHACM によって管理されるクラスターをプロビジョニングした。
- カスタムサイトの設定データを管理する Git リポジトリーを作成している。リポジトリーはハブクラスターからアクセス可能で、Argo CD アプリケーションのソースリポジトリーとして定義されている必要があります。
手順
適用するファームウェア設定を含むホストファームウェアプロファイルを作成します。たとえば、次の YAML ファイルを作成します。
host-firmware.profile
BootMode: Uefi LogicalProc: Enabled ProcVirtualization: Enabledクラスターのプロビジョニング方法を定義するために使用する
kustomization.yamlファイルを基準として、ハードウェアプロファイルの YAML ファイルを保存します。次に例を示します。example-ztp/install └── site-install ├── siteconfig-example.yaml ├── kustomization.yaml └── host-firmware.profileSiteConfigCR を編集して、クラスターに適用するファームウェアプロファイルを含めます。以下に例を示します。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 つの
SiteConfigCR を使用してください。オプション: 特定のクラスター内のホストにハードウェアプロファイルを適用するには、
clusters.biosConfigRef.filePathを適用するハードウェアプロファイルで更新します。以下に例を示します。clusters: - clusterName: "cluster-1" # ... biosConfigRef: filePath: "./host-firmware.profile"1 - 1
cluster-1クラスター内のすべてのホストに適用されます。
オプション: クラスター内の特定のホストにハードウェアプロファイルを適用するには、
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ホストに適用します。
SiteConfigCR と関連するkustomization.yamlの変更を Git リポジトリーにコミットし、変更をプッシュします。ArgoCD パイプラインが変更を検出し、マネージドクラスターのデプロイを開始します。
注記無効なファームウェア設定が検出された場合でも、クラスターのデプロイは続行されます。GitOps ZTP を使用して修正を適用するには、修正したハードウェアプロファイルを使用してクラスターを再デプロイしてください。
検証
マネージドクラスターのホストにファームウェア設定が適用されていることを確認します。たとえば、以下のコマンドを実行します。
$ oc get hfs -n <managed_cluster_namespace> <managed_cluster_name> -o jsonpath='{.status.conditions[?(@.type=="Valid")].status}'出力例
True