2.9. GitOps ZTP サイト設定リポジトリーの準備
GitOps Zero Touch Provisioning (ZTP) パイプラインを使用する前に、サイト設定データをホストする Git リポジトリーを準備する必要があります。
前提条件
- 必要なインストールおよびポリシーのカスタムリソース (CR) を生成するためのハブクラスター GitOps アプリケーションを設定している。
- GitOps ZTP を使用してマネージドクラスターをデプロイしている。
手順
SiteConfigCR とPolicyGenTemplateCR の個別のパスを持つディレクトリー構造を作成します。注記SiteConfigおよびPolicyGenTemplateCR を個別のディレクトリーで保持します。SiteConfigディレクトリーおよびPolicyGenTemplateディレクトリーには、そのディレクトリー内のファイルを明示的に含めるkustomization.yamlファイルが含まれている必要があります。以下のコマンドを使用して
ztp-site-generateコンテナーイメージからargocdディレクトリーをエクスポートします。podman pull registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.15
$ podman pull registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.15Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkdir -p ./out
$ mkdir -p ./outCopy to Clipboard Copied! Toggle word wrap Toggle overflow podman run --log-driver=none --rm registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.15 extract /home/ztp --tar | tar x -C ./out
$ podman run --log-driver=none --rm registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.15 extract /home/ztp --tar | tar x -C ./outCopy to Clipboard Copied! Toggle word wrap Toggle overflow outディレクトリーに以下のサブディレクトリーが含まれていることを確認します。-
out/extra-manifestには、SiteConfigが追加の manifestconfigMapの生成に使用するソース CR ファイルが含まれます。 -
out/source-crsには、PolicyGenTemplate がRed Hat Advanced Cluster Management (RHACM) ポリシーを生成するために使用するソース CR ファイルが含まれています。 -
out/argocd/deploymentには、この手順の次のステップで使用するハブクラスターに適用するパッチおよび YAML ファイルが含まれます。 -
out/argocd/exampleには、推奨の設定を表すSiteConfigファイルおよびPolicyGenTemplateファイルのサンプルが含まれています。
-
-
out/source-crsフォルダーとその内容をPolicyGentemplateディレクトリーにコピーします。 out/extra-manifests ディレクトリーには、RAN DU クラスターの参照マニフェストが含まれています。
out/extra-manifestsディレクトリーをSiteConfigフォルダーにコピーします。このディレクトリーには、ztp-site-generateコンテナーからの CR のみを含める必要があります。ユーザー提供の CR をここに追加しないでください。ユーザー提供の CR を使用する場合は、そのコンテンツ用に別のディレクトリーを作成する必要があります。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ディレクトリー構造と
kustomization.yamlファイルをコミットし、Git リポジトリーにプッシュします。Git への最初のプッシュには、kustomization.yamlファイルが含まれている必要があります。
out/argocd/example のディレクトリー構造は、Git リポジトリーの構造およびコンテンツの参照として使用します。この構造には、単一ノード、3 ノード、標準クラスターの SiteConfig および PolicyGenTemplate の参照 CR が含まれます。使用されていないクラスタータイプの参照を削除します。
すべてのクラスタータイプについて、次のことを行う必要があります。
-
source-crsサブディレクトリーをpolicygentemplateディレクトリーに追加します。 -
extra-manifestsディレクトリーをsiteconfigディレクトリーに追加します。
以下の例では、シングルノードクラスターのネットワークの CR のセットを説明しています。
2.9.1. バージョンに依存しないように GitOps ZTP サイト設定リポジトリーを準備する リンクのコピーリンクがクリップボードにコピーされました!
GitOps ZTP を使用して、OpenShift Container Platform のさまざまなバージョンを実行しているマネージドクラスターのソースカスタムリソース (CR) を管理できます。これは、ハブクラスター上で実行している OpenShift Container Platform のバージョンが、マネージドクラスター上で実行しているバージョンから独立している可能性があることを意味します。
手順
-
SiteConfigCR とPolicyGenTemplateCR の個別のパスを持つディレクトリー構造を作成します。 PolicyGenTemplateディレクトリー内に、使用可能にする OpenShift Container Platform バージョンごとにディレクトリーを作成します。バージョンごとに、次のリソースを作成します。-
そのディレクトリー内のファイルを明示的に含む
kustomization.yamlファイル source-crsディレクトリーには、ztp-site-generateコンテナーからの参照 CR 設定ファイルが含まれます。ユーザー提供の CR を使用する場合は、CR 用に別のディレクトリーを作成する必要があります。
-
そのディレクトリー内のファイルを明示的に含む
/siteconfigディレクトリーに、使用可能にする OpenShift Container Platform バージョンごとにサブディレクトリーを作成します。バージョンごとに、コンテナーからコピーされる参照 CR 用のディレクトリーを少なくとも 1 つ作成します。ディレクトリーの名前や参照ディレクトリーの数に制限はありません。カスタムマニフェストを使用する場合は、個別のディレクトリーを作成する必要があります。次の例では、OpenShift Container Platform のさまざまなバージョンのユーザー提供のマニフェストと CR を使用した構造を説明します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 最上位の
kustomizationYAML ファイルを作成します。 - 2 7
- カスタム
/policygentemplatesディレクトリー内にバージョン固有のディレクトリーを作成します。 - 3 8
- バージョンごとに
kustomization.yamlファイルを作成します。 - 4 9
ztp-site-generateコンテナーからの参照 CR を含めるために、バージョンごとにsource-crsディレクトリーを作成します。- 5 10
- ZTP コンテナーから展開されるポリシー CR の
reference-crsディレクトリーを作成します。 - 6 11
- オプション: ユーザー提供の CR 用に
custom-crsディレクトリーを作成します。 - 12 14
- カスタム
/siteconfigディレクトリー内にディレクトリーを作成し、ztp-site-generateコンテナーからの追加のマニフェストを含めます。 - 13 15
- ユーザーによって提供されるマニフェストを保持するフォルダーを作成します。
注記前の例では、カスタム
/siteconfigディレクトリー内の各バージョンサブディレクトリーにはさらに 2 つのサブディレクトリーが含まれており、1 つはコンテナーからコピーされた参照マニフェストを含み、もう 1 つは提供するカスタムマニフェスト用です。これらのディレクトリーに割り当てられた名前は一例です。ユーザー提供の CR を使用する場合は、SiteConfigCR のextraManifests.searchPathsの下にリストされている最後のディレクトリーが、ユーザー提供の CR を含むディレクトリーである必要があります。SiteConfigCR を編集して、作成したディレクトリーの検索パスを含めます。extraManifests.searchPathsの下にリストされる最初のディレクトリーは、参照マニフェストを含むディレクトリーである必要があります。ディレクトリーがリストされている順序を考慮してください。ディレクトリーに同じ名前のファイルが含まれている場合は、最後のディレクトリーにあるファイルが優先されます。SiteConfig CR の例
extraManifests: searchPaths: - extra-manifest/ - custom-manifest/extraManifests: searchPaths: - extra-manifest/1 - custom-manifest/2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow トップレベルの
kustomization.yamlファイルを編集して、アクティブな OpenShift Container Platform バージョンを制御します。以下は、最上位レベルのkustomization.yamlファイルの例です。resources: - version_4.13 #- version_4.14
resources: - version_4.131 #- version_4.142 Copy to Clipboard Copied! Toggle word wrap Toggle overflow