2.9. GitOps ZTP サイト設定リポジトリーの準備
GitOps Zero Touch Provisioning (ZTP) パイプラインを使用する前に、サイト設定データをホストする Git リポジトリーを準備する必要があります。
前提条件
- 必要なインストールおよびポリシーのカスタムリソース (CR) を生成するためのハブクラスター GitOps アプリケーションを設定している。
- GitOps ZTP を使用してマネージドクラスターをデプロイしている。
手順
SiteConfig
とPolicyGenerator
またはPolicyGentemplate
CR 用に個別のパスを持つディレクトリー構造を作成します。注記SiteConfig
とPolicyGenerator
またはPolicyGentemplate
CR を個別のディレクトリーに保存します。SiteConfig
ディレクトリーと、PolicyGenerator
またはPolicyGentemplate
ディレクトリーの両方に、そのディレクトリー内のファイルを明示的に含めるkustomization.yaml
ファイルが含まれている必要があります。以下のコマンドを使用して
ztp-site-generate
コンテナーイメージからargocd
ディレクトリーをエクスポートします。$ podman pull registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.17
$ mkdir -p ./out
$ podman run --log-driver=none --rm registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.17 extract /home/ztp --tar | tar x -C ./out
out
ディレクトリーに以下のサブディレクトリーが含まれていることを確認します。-
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/ ├── policygentemplates 1 │ ├── kustomization.yaml │ └── source-crs/ └── siteconfig ├── extra-manifests └── kustomization.yaml
- 1
PolicyGenTemplate
CR を使用してポリシーを管理およびデプロイし、クラスターを管理することは、OpenShift Container Platform の今後のリリースでは非推奨になります。Red Hat Advanced Cluster Management (RHACM) およびPolicyGenerator
CR を使用すると、同等の機能および改善された機能が利用できます。
-
ディレクトリー構造と
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/ 1 ├── custom-manifests/ 2 ├── KlusterletAddonConfigOverride.yaml └── kustomization.yaml
PolicyGenTemplate
CR を使用してポリシーを管理し、マネージドクラスターにデプロイすることは、OpenShift Container Platform の今後のリリースでは非推奨になります。同等の機能および改善された機能は、Red Hat Advanced Cluster Management (RHACM) および PolicyGenerator
CR を使用する場合に利用できます。
PolicyGenerator
リソースの詳細は、RHACM Policy Generator のドキュメントを参照してください。