2.10. バージョンに依存しないように GitOps ZTP サイト設定リポジトリーを準備する
GitOps ZTP を使用して、OpenShift Container Platform のさまざまなバージョンを実行しているマネージドクラスターのソースカスタムリソース (CR) を管理できます。これは、ハブクラスター上で実行している OpenShift Container Platform のバージョンが、マネージドクラスター上で実行しているバージョンから独立している可能性があることを意味します。
次の手順では、クラスターポリシー管理に PolicyGentemplate リソースではなく、PolicyGenerator リソースを使用していることを前提としています。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-admin権限を持つユーザーとしてログインしている。
手順
-
SiteConfigCR とPolicyGeneratorCR の個別のパスを持つディレクトリー構造を作成します。 PolicyGeneratorディレクトリー内に、使用可能にする 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
- カスタム
/acmpolicygeneratorディレクトリー内にバージョン固有のディレクトリーを作成します。 - 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