19.5. ZTP を使用した単一ノード OpenShift クラスターの手動インストール
Red Hat Advanced Cluster Management (RHACM) とアシストサービスを使用して、管理対象の単一ノード OpenShift クラスターをデプロイできます。
					複数のマネージドクラスターを作成する場合は、ZTP を使用したファーエッジサイトのデプロイメント で説明されている SiteConfig メソッドを使用します。
				
ターゲットのベアメタルホストは、vDU アプリケーションワークロードの推奨クラスター設定 に記載されているネットワーク、ファームウェア、およびハードウェアの要件を満たす必要があります。
19.5.1. GitOps ZTP インストール CR と設定 CR の手動生成
					ztp-site-generate コンテナーの generator エントリーポイントを使用して、SiteConfig および PolicyGenTemplate CR に基づいてクラスターのサイトインストールおよび設定カスタムリソース (CR) を生成します。
				
前提条件
- 
							OpenShift CLI (oc) がインストールされている。
- 
							cluster-admin権限を持つユーザーとしてハブクラスターにログインしている。
手順
- 次のコマンドを実行して、出力フォルダーを作成します。 - mkdir -p ./out - $ mkdir -p ./out- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ztp-site-generateコンテナーイメージから- argocdディレクトリーをエクスポートします。- podman run --log-driver=none --rm registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.13 extract /home/ztp --tar | tar x -C ./out - $ podman run --log-driver=none --rm registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.13 extract /home/ztp --tar | tar x -C ./out- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - ./outディレクトリーの- out/argocd/example/フォルダーには、参照- PolicyGenTemplateCR および- SiteConfigCR があります。- 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- サイトインストール CR の出力フォルダーを作成します。 - mkdir -p ./site-install - $ mkdir -p ./site-install- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- インストールするクラスタータイプのサンプル - SiteConfigCR を変更します。- example-sno.yamlを- site-1-sno.yamlにコピーし、インストールするサイトとベアメタルホストの詳細に一致するように CR を変更します。次に例を示します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、変更された - SiteConfigCR- site-1-sno.yamlを処理し、Day 0 インストール CR を生成します。- podman run -it --rm -v `pwd`/out/argocd/example/siteconfig:/resources:Z -v `pwd`/site-install:/output:Z,U registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.13 generator install site-1-sno.yaml /output - $ podman run -it --rm -v `pwd`/out/argocd/example/siteconfig:/resources:Z -v `pwd`/site-install:/output:Z,U registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.13 generator install site-1-sno.yaml /output- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- オプション: - -Eオプションを使用して参照- SiteConfigCR を処理することにより、特定のクラスタータイプの Day 0- MachineConfigインストール CR のみを生成します。たとえば、以下のコマンドを実行します。- MachineConfigCR の出力フォルダーを作成します。- mkdir -p ./site-machineconfig - $ mkdir -p ./site-machineconfig- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- MachineConfigインストール CR を生成します。- podman run -it --rm -v `pwd`/out/argocd/example/siteconfig:/resources:Z -v `pwd`/site-machineconfig:/output:Z,U registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.13 generator install -E site-1-sno.yaml /output - $ podman run -it --rm -v `pwd`/out/argocd/example/siteconfig:/resources:Z -v `pwd`/site-machineconfig:/output:Z,U registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.13 generator install -E site-1-sno.yaml /output- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - site-machineconfig └── site-1-sno ├── site-1-sno_machineconfig_02-master-workload-partitioning.yaml ├── site-1-sno_machineconfig_predefined-extra-manifests-master.yaml └── site-1-sno_machineconfig_predefined-extra-manifests-worker.yaml- site-machineconfig └── site-1-sno ├── site-1-sno_machineconfig_02-master-workload-partitioning.yaml ├── site-1-sno_machineconfig_predefined-extra-manifests-master.yaml └── site-1-sno_machineconfig_predefined-extra-manifests-worker.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 前のステップの参照 - PolicyGenTemplateCR を使用して、Day 2 の設定 CR を生成してエクスポートします。以下のコマンドを実行します。- Day 2 CR の出力フォルダーを作成します。 - mkdir -p ./ref - $ mkdir -p ./ref- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Day 2 設定 CR を生成してエクスポートします。 - podman run -it --rm -v `pwd`/out/argocd/example/policygentemplates:/resources:Z -v `pwd`/ref:/output:Z,U registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.13 generator config -N . /output - $ podman run -it --rm -v `pwd`/out/argocd/example/policygentemplates:/resources:Z -v `pwd`/ref:/output:Z,U registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.13 generator config -N . /output- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - このコマンドは、単一ノード OpenShift、3 ノードクラスター、および標準クラスター用のサンプルグループおよびサイト固有の - PolicyGenTemplateCR を- ./refフォルダーに生成します。- 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- クラスターのインストールに使用する CR のベースとして、生成された CR を使用します。「単一のマネージドクラスターのインストール」で説明されているように、インストール CR をハブクラスターに適用します。設定 CR は、クラスターのインストールが完了した後にクラスターに適用できます。
19.5.2. マネージドベアメタルホストシークレットの作成
					マネージドベアメタルホストに必要な Secret カスタムリソース (CR) をハブクラスターに追加します。GitOps Zero Touch Provisioning (ZTP) パイプラインが Baseboard Management Controller (BMC) にアクセスするためのシークレットと、アシストインストーラーサービスがレジストリーからクラスターインストールイメージを取得するためのシークレットが必要です。
				
						シークレットは、SiteConfig CR から名前で参照されます。namespace は SiteConfig namespace と一致する必要があります。
					
手順
- ホスト Baseboard Management Controller (BMC) の認証情報と、OpenShift およびすべてのアドオンクラスター Operator のインストールに必要なプルシークレットを含む YAML シークレットファイルを作成します。 
- 
							example-sno-secret.yamlへの相対パスを、クラスターのインストールに使用するkustomization.yamlファイルに追加します。
19.5.3. GitOps ZTP を使用した手動インストール用の Discovery ISO カーネル引数の設定
					GitOps Zero Touch Provisioning (ZTP) ワークフローは、マネージドベアメタルホストでの OpenShift Container Platform インストールプロセスの一部として Discovery ISO を使用します。InfraEnv リソースを編集して、Discovery ISO のカーネル引数を指定できます。これは、特定の環境要件を持つクラスターのインストールに役立ちます。たとえば、Discovery ISO の rd.net.timeout.carrier カーネル引数を設定して、クラスターの静的ネットワーク設定を容易にしたり、インストール中に root ファイルシステムをダウンロードする前に DHCP アドレスを受信したりできます。
				
OpenShift Container Platform 4.13 では、カーネル引数の追加のみを行うことができます。カーネル引数を置き換えたり削除したりすることはできません。
前提条件
- OpenShift CLI (oc) がインストールされている。
- cluster-admin 権限を持つユーザーとしてハブクラスターにログインしている。
- インストールと設定カスタムリソース (CR) を手動で生成している。
手順
- 
							InfraEnvCR のspec.kernelArguments仕様を編集して、カーネル引数を設定します。
						SiteConfig CR は、Day-0 インストール CR の一部として InfraEnv リソースを生成します。
					
検証
						カーネル引数が適用されていることを確認するには、Discovery イメージが OpenShift Container Platform をインストールする準備ができていることを確認した後、インストールプロセスを開始する前にターゲットホストに SSH 接続します。その時点で、/proc/cmdline ファイルで Discovery ISO のカーネル引数を表示できます。
					
- ターゲットホストとの SSH セッションを開始します。 - ssh -i /path/to/privatekey core@<host_name> - $ ssh -i /path/to/privatekey core@<host_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを使用して、システムのカーネル引数を表示します。 - cat /proc/cmdline - $ cat /proc/cmdline- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
19.5.4. 単一のマネージドクラスターのインストール
アシストサービスと Red Hat Advanced Cluster Management (RHACM) を使用して、単一のマネージドクラスターを手動でデプロイできます。
前提条件
- 
							OpenShift CLI (oc) がインストールされている。
- 
							cluster-admin権限を持つユーザーとしてハブクラスターにログインしている。
- 
							ベースボード管理コントローラー (BMC) SecretとイメージプルシークレットSecretカスタムリソース (CR) を作成しました。詳細は、「管理されたベアメタルホストシークレットの作成」を参照してください。
- ターゲットのベアメタルホストが、マネージドクラスターのネットワークとハードウェアの要件を満たしている。
手順
- デプロイする特定のクラスターバージョンごとに - ClusterImageSetを作成します (例:- clusterImageSet-4.13.yaml)。- ClusterImageSetのフォーマットは以下のとおりです。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- clusterImageSetCR を適用します。- oc apply -f clusterImageSet-4.13.yaml - $ oc apply -f clusterImageSet-4.13.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- cluster-namespace.yamlファイルに- NamespaceCR を作成します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以下のコマンドを実行して - NamespaceCR を適用します。- oc apply -f cluster-namespace.yaml - $ oc apply -f cluster-namespace.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ztp-site-generateコンテナーから抽出し、要件を満たすようにカスタマイズした、生成された day-0 CR を適用します。- oc apply -R ./site-install/site-sno-1 - $ oc apply -R ./site-install/site-sno-1- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
19.5.5. マネージドクラスターのインストールステータスの監視
クラスターのステータスをチェックして、クラスターのプロビジョニングが正常に行われたことを確認します。
前提条件
- 
							すべてのカスタムリソースが設定およびプロビジョニングされ、プロビジョニングされ、マネージドクラスターのハブで Agentカスタムリソースが作成されます。
手順
- マネージドクラスターのステータスを確認します。 - oc get managedcluster - $ oc get managedcluster- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Trueはマネージドクラスターの準備が整っていることを示します。
- エージェントのステータスを確認します。 - oc get agent -n <cluster_name> - $ oc get agent -n <cluster_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- describeコマンドを使用して、エージェントの条件に関する詳細な説明を指定します。認識できるステータスには、- BackendError、- InputError、- ValidationsFailing、- InstallationFailed、および- AgentIsConnectedが含まれます。これらのステータスは、- Agentおよび- AgentClusterInstallカスタムリソースに関連します。- oc describe agent -n <cluster_name> - $ oc describe agent -n <cluster_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- クラスターのプロビジョニングのステータスを確認します。 - oc get agentclusterinstall -n <cluster_name> - $ oc get agentclusterinstall -n <cluster_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- describeコマンドを使用して、クラスターのプロビジョニングステータスの詳細な説明を指定します。- oc describe agentclusterinstall -n <cluster_name> - $ oc describe agentclusterinstall -n <cluster_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- マネージドクラスターのアドオンサービスのステータスを確認します。 - oc get managedclusteraddon -n <cluster_name> - $ oc get managedclusteraddon -n <cluster_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- マネージドクラスターの - kubeconfigファイルの認証情報を取得します。- oc get secret -n <cluster_name> <cluster_name>-admin-kubeconfig -o jsonpath={.data.kubeconfig} | base64 -d > <directory>/<cluster_name>-kubeconfig- $ oc get secret -n <cluster_name> <cluster_name>-admin-kubeconfig -o jsonpath={.data.kubeconfig} | base64 -d > <directory>/<cluster_name>-kubeconfig- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
19.5.6. マネージドクラスターのトラブルシューティング
以下の手順を使用して、マネージドクラスターで発生する可能性のあるインストール問題を診断します。
手順
- マネージドクラスターのステータスを確認します。 - oc get managedcluster - $ oc get managedcluster- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE SNO-cluster true True True 2d19h - NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE SNO-cluster true True True 2d19h- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - AVAILABLE列のステータスが- Trueの場合、マネージドクラスターはハブによって管理されます。- AVAILABLE列のステータスが- Unknownの場合、マネージドクラスターはハブによって管理されていません。その他の情報を取得するには、以下の手順を使用します。
- AgentClusterInstallインストールのステータスを確認します。- oc get clusterdeployment -n <cluster_name> - $ oc get clusterdeployment -n <cluster_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - NAME PLATFORM REGION CLUSTERTYPE INSTALLED INFRAID VERSION POWERSTATE AGE Sno0026 agent-baremetal false Initialized 2d14h - NAME PLATFORM REGION CLUSTERTYPE INSTALLED INFRAID VERSION POWERSTATE AGE Sno0026 agent-baremetal false Initialized 2d14h- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - INSTALLED列のステータスが- falseの場合、インストールは失敗していました。
- インストールが失敗した場合は、以下のコマンドを実行して - AgentClusterInstallリソースのステータスを確認します。- oc describe agentclusterinstall -n <cluster_name> <cluster_name> - $ oc describe agentclusterinstall -n <cluster_name> <cluster_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- エラーを解決し、クラスターをリセットします。 - クラスターのマネージドクラスターリソースを削除します。 - oc delete managedcluster <cluster_name> - $ oc delete managedcluster <cluster_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- クラスターの namespace を削除します。 - oc delete namespace <cluster_name> - $ oc delete namespace <cluster_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - これにより、このクラスター用に作成された namespace スコープのカスタムリソースがすべて削除されます。続行する前に、 - ManagedClusterCR の削除が完了するのを待つ必要があります。
- マネージドクラスターのカスタムリソースを再作成します。
 
19.5.7. RHACM によって生成されたクラスターインストール CR リファレンス
					Red Hat Advanced Cluster Management (RHACM) は、サイトごとに SiteConfig CR を使用して生成する特定のインストールカスタムリソース (CR) のセットを使用して、シングルノードクラスター、3 ノードクラスター、および標準クラスターに OpenShift Container Platform をデプロイすることをサポートします。
				
						すべてのマネージドクラスターには独自の namespace があり、ManagedCluster と ClusterImageSet を除くすべてのインストール CR はその namespace の下にあります。ManagedCluster と ClusterImageSet は、ネームスペーススコープではなく、クラスタースコープです。namespace および CR 名はクラスター名に一致します。
					
					次の表に、設定した SiteConfig CR を使用してクラスターをインストールするときに RHACM アシストサービスによって自動的に適用されるインストール CR を示します。
				
| CR | 説明 | 使用法 | 
|---|---|---|
| 
									 | ターゲットのベアメタルホストの Baseboard Management Controller (BMC) の接続情報が含まれています。 | Redfish プロトコルを使用して、BMC へのアクセスを提供し、ターゲットサーバーで検出イメージをロードおよび開始します。 | 
| 
									 | ターゲットのベアメタルホストに OpenShift Container Platform をインストールするための情報が含まれています。 | 
									 | 
| 
									 | 
									ネットワークやコントロールプレーンノードの数など、マネージドクラスター設定の詳細を指定します。インストールが完了すると、クラスター  | マネージドクラスターの設定情報を指定し、クラスターのインストール時にステータスを指定します。 | 
| 
									 | 
									使用する  | 
									マネージドクラスターの Discovery ISO を生成するために  | 
| 
									 | 
									 | マネージドクラスターの Kube API サーバーの静的 IP アドレスを設定します。 | 
| 
									 | ターゲットのベアメタルホストに関するハードウェア情報が含まれています。 | ターゲットマシンの検出イメージの起動時にハブ上に自動的に作成されます。 | 
| 
									 | クラスターがハブで管理されている場合は、インポートして知られている必要があります。この Kubernetes オブジェクトはそのインターフェイスを提供します。 | ハブは、このリソースを使用してマネージドクラスターのステータスを管理し、表示します。 | 
| 
									 | 
									 | 
									 | 
| 
									 | 
									ハブ上にある  | 
									リソースを  | 
| 
									 | 
									 | 
 | 
| 
									 | リポジトリーおよびイメージ名などの OpenShift Container Platform イメージ情報が含まれます。 | OpenShift Container Platform イメージを提供するためにリソースに渡されます。 |