2.9. GitOps ZTP サイト設定リポジトリーの準備
GitOps Zero Touch Provisioning (ZTP) パイプラインを使用する前に、サイト設定データをホストする Git リポジトリーを準備する必要があります。
前提条件
- 必要なインストールおよびポリシーのカスタムリソース (CR) を生成するためのハブクラスター GitOps アプリケーションを設定している。
- GitOps ZTP を使用してマネージドクラスターをデプロイしている。
手順
SiteConfigとPolicyGeneratorまたはPolicyGentemplateCR 用に個別のパスを持つディレクトリー構造を作成します。注記SiteConfigとPolicyGeneratorまたはPolicyGentemplateCR を個別のディレクトリーに保存します。SiteConfigディレクトリーと、PolicyGeneratorまたはPolicyGentemplateディレクトリーの両方に、そのディレクトリー内のファイルを明示的に含めるkustomization.yamlファイルが含まれている必要があります。以下のコマンドを使用して
ztp-site-generateコンテナーイメージからargocdディレクトリーをエクスポートします。$ podman pull registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.18$ mkdir -p ./out$ podman run --log-driver=none --rm registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.18 extract /home/ztp --tar | tar x -C ./outoutディレクトリーに以下のサブディレクトリーが含まれていることを確認します。-
out/extra-manifestには、SiteConfigが追加の manifestconfigMapの生成に使用するソース CR ファイルが含まれます。 -
out/source-crsには、PolicyGeneratorが Red Hat Advanced Cluster Management (RHACM) ポリシーを生成するために使用するソース CR ファイルが含まれています。 -
out/argocd/deploymentには、この手順の次のステップで使用するハブクラスターに適用するパッチおよび YAML ファイルが含まれます。 -
out/argocd/exampleには、推奨される設定を表すSiteConfigファイルと、PolicyGeneratorまたはPolicyGentemplateファイルのサンプルが含まれています。
-
-
out/source-crsフォルダーとその内容をPolicyGeneratorまたはPolicyGentemplateディレクトリーにコピーします。 out/extra-manifests ディレクトリーには、RAN DU クラスターの参照マニフェストが含まれています。
out/extra-manifestsディレクトリーをSiteConfigフォルダーにコピーします。このディレクトリーには、ztp-site-generateコンテナーからの CR のみを含める必要があります。ユーザー提供の CR をここに追加しないでください。ユーザー提供の CR を使用する場合は、そのコンテンツ用に別のディレクトリーを作成する必要があります。以下に例を示します。example/ ├── acmpolicygenerator │ ├── kustomization.yaml │ └── source-crs/ ├── policygentemplates1 │ ├── kustomization.yaml │ └── source-crs/ └── siteconfig ├── extra-manifests └── kustomization.yaml- 1
PolicyGenTemplateCR を使用してポリシーを管理およびデプロイし、クラスターを管理することは、OpenShift Container Platform の今後のリリースでは非推奨になります。Red Hat Advanced Cluster Management (RHACM) およびPolicyGeneratorCR を使用すると、同等の機能および改善された機能が利用できます。
-
ディレクトリー構造と
kustomization.yamlファイルをコミットし、Git リポジトリーにプッシュします。Git への最初のプッシュには、kustomization.yamlファイルが含まれている必要があります。
out/argocd/example のディレクトリー構造は、Git リポジトリーの構造およびコンテンツの参照として使用します。この構造には、シングルノード、3 ノード、および標準クラスターの SiteConfig と、PolicyGenerator または PolicyGentemplate 参照 CR が含まれます。使用されていないクラスタータイプの参照を削除します。
すべてのクラスタータイプについて、次のことを行う必要があります。
-
source-crsサブディレクトリーをacmpolicygeneratorまたはpolicygentemplatesディレクトリーに追加します。 -
extra-manifestsディレクトリーをsiteconfigディレクトリーに追加します。
以下の例では、シングルノードクラスターのネットワークの CR のセットを説明しています。
example/
├── acmpolicygenerator
│ ├── acm-common-ranGen.yaml
│ ├── acm-example-sno-site.yaml
│ ├── acm-group-du-sno-ranGen.yaml
│ ├── group-du-sno-validator-ranGen.yaml
│ ├── kustomization.yaml
│ ├── source-crs/
│ └── ns.yaml
└── siteconfig
├── example-sno.yaml
├── extra-manifests/
├── custom-manifests/
├── KlusterletAddonConfigOverride.yaml
└── kustomization.yaml
PolicyGenTemplate CR を使用してポリシーを管理し、マネージドクラスターにデプロイすることは、OpenShift Container Platform の今後のリリースでは非推奨になります。同等の機能および改善された機能は、Red Hat Advanced Cluster Management (RHACM) および PolicyGenerator CR を使用する場合に利用できます。
PolicyGenerator リソースの詳細は、RHACM の ポリシージェネレーターの統合 ドキュメントを参照してください。