第5章 GitOps ZTP を使用したシングルノード OpenShift クラスターの手動インストール
Red Hat Advanced Cluster Management (RHACM) とアシストサービスを使用して、マネージドシングルノード OpenShift クラスターをデプロイできます。
複数のマネージドクラスターを作成する場合は、ZTP を使用したファーエッジサイトのデプロイメント で説明されている SiteConfig メソッドを使用します。
ターゲットのベアメタルホストは、vDU アプリケーションワークロードの推奨クラスター設定 に記載されているネットワーク、ファームウェア、およびハードウェアの要件を満たす必要があります。
5.1. GitOps ZTP インストール CR と設定 CR の手動生成 リンクのコピーリンクがクリップボードにコピーされました!
ztp-site-generate コンテナーの generator エントリーポイントを使用して、SiteConfig CR および PolicyGenerator CR に基づいたクラスターのサイトのインストールと設定のカスタムリソース (CR) を生成します。
SiteConfig v1 は、OpenShift Container Platform バージョン 4.18 以降では非推奨になります。ClusterInstance カスタムリソースを使用する SiteConfig Operator を通じて、同等の改良された機能が利用できるようになりました。詳細は、Procedure to transition from SiteConfig CRs to the ClusterInstance API を参照してください。
SiteConfig Operator の詳細は、SiteConfig を参照してください。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-admin権限を持つユーザーとしてハブクラスターにログインしている。
手順
次のコマンドを実行して、出力フォルダーを作成します。
mkdir -p ./out
$ mkdir -p ./outCopy 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.19 extract /home/ztp --tar | tar x -C ./out
$ podman run --log-driver=none --rm registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.19 extract /home/ztp --tar | tar x -C ./outCopy to Clipboard Copied! Toggle word wrap Toggle overflow ./outディレクトリーには、out/argocd/example/フォルダー内の参照PolicyGeneratorCR およびSiteConfigCR があります。出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サイトインストール CR の出力フォルダーを作成します。
mkdir -p ./site-install
$ mkdir -p ./site-installCopy 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 注記ztp-site-generateコンテナーのout/extra-manifestディレクトリーから参照 CR 設定ファイルを抽出したら、extraManifests.searchPathsを使用して、それらのファイルを含む git ディレクトリーへのパスを含めることができます。これにより、GitOps ZTP パイプラインはクラスターのインストール中にこれらの CR ファイルを適用できるようになります。searchPathsディレクトリーを設定すると、GitOps ZTP パイプラインは、サイトのインストール中にztp-site-generateコンテナーからマニフェストを取得しません。次のコマンドを実行して、変更された
SiteConfigCRsite-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.19 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.19 generator install site-1-sno.yaml /outputCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション:
-Eオプションを使用して参照SiteConfigCR を処理することにより、特定のクラスタータイプの Day 0MachineConfigインストール CR のみを生成します。たとえば、以下のコマンドを実行します。MachineConfigCR の出力フォルダーを作成します。mkdir -p ./site-machineconfig
$ mkdir -p ./site-machineconfigCopy 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.19 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.19 generator install -E site-1-sno.yaml /outputCopy 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.yamlsite-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.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
前の手順の参照
PolicyGeneratorCR を使用して、Day 2 設定 CR を生成してエクスポートします。以下のコマンドを実行します。Day 2 CR の出力フォルダーを作成します。
mkdir -p ./ref
$ mkdir -p ./refCopy to Clipboard Copied! Toggle word wrap Toggle overflow Day 2 設定 CR を生成してエクスポートします。
podman run -it --rm -v `pwd`/out/argocd/example/acmpolicygenerator:/resources:Z -v `pwd`/ref:/output:Z,U registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.19 generator config -N . /output
$ podman run -it --rm -v `pwd`/out/argocd/example/acmpolicygenerator:/resources:Z -v `pwd`/ref:/output:Z,U registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.19 generator config -N . /outputCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、シングルノード OpenShift、3 ノードクラスター、および標準クラスター用のサンプルグループおよびサイト固有の
PolicyGeneratorCR を./refフォルダーに生成します。出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- クラスターのインストールに使用する CR のベースとして、生成された CR を使用します。「単一のマネージドクラスターのインストール」で説明されているように、インストール CR をハブクラスターに適用します。設定 CR は、クラスターのインストールが完了した後にクラスターに適用できます。
検証
ノードのデプロイ後にカスタムのロールとラベルが適用されていることを確認します。
oc describe node example-node.example.com
$ oc describe node example-node.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow
出力例
- 1
- カスタムラベルがノードに適用されます。