8.2. SiteConfig フィルターを使用したカスタムリソースのフィルタリング
フィルターを使用すると、SiteConfig カスタムリソース (CR) を簡単にカスタマイズして、GitOps Zero Touch Provisioning (ZTP) パイプラインのインストールフェーズで使用する他の CR を追加または除外できます。
SiteConfig CR の inclusionDefault 値として include または exclude を指定し、さらに、含めたり除外したりする特定の extraManifest RAN CR のリストを指定することもできます。inclusionDefault を include に設定すると、GitOps ZTP パイプラインはインストール中に /source-crs/extra-manifest 内のすべてのファイルを適用します。inclusionDefault を exclude に設定すると、その逆になります。
デフォルトで含まれている /source-crs/extra-manifest フォルダーから個々の CR を除外できます。以下の例では、インストール時に /source-crs/extra-manifest/03-sctp-machine-config-worker.yaml CR を除外するようにカスタムのシングルノード OpenShift SiteConfig CR を設定します。
また、いくつかのオプションのフィルタリングシナリオも説明されています。
前提条件
- 必要なインストール CR とポリシー CR を生成するためにハブクラスターを設定している。
- カスタムサイトの設定データを管理する Git リポジトリーを作成している。リポジトリーはハブクラスターからアクセス可能で、Argo CD アプリケーションのソースリポジトリーとして定義されている必要があります。
手順
GitOps ZTP パイプラインが
03-sctp-machine-config-worker.yamlCR ファイルを適用しないようにするには、SiteConfigCR で次の YAML を適用します。apiVersion: ran.openshift.io/v1 kind: SiteConfig metadata: name: "site1-sno-du" namespace: "site1-sno-du" spec: baseDomain: "example.com" pullSecretRef: name: "assisted-deployment-pull-secret" clusterImageSetNameRef: "openshift-4.19" sshPublicKey: "<ssh_public_key>" clusters: - clusterName: "site1-sno-du" extraManifests: filter: exclude: - 03-sctp-machine-config-worker.yamlGitOps ZTP パイプラインは、インストール中に
03-sctp-machine-config-worker.yamlCR をスキップします。/source-crs/extra-manifest内の他のすべての CR が適用されます。SiteConfigCR を保存し、変更をサイト設定リポジトリーにプッシュします。GitOps ZTP パイプラインは、
SiteConfigフィルター命令に基づいて適用する CR を監視および調整します。オプション: クラスターのインストール中に GitOps ZTP パイプラインがすべての
/source-crs/extra-manifestCR を適用しないようにするには、SiteConfigCR で次の YAML を適用します。- clusterName: "site1-sno-du" extraManifests: filter: inclusionDefault: excludeオプション: インストール中にすべての
/source-crs/extra-manifestRAN CR を除外し、代わりにカスタム CR ファイルを含めるには、カスタムSiteConfigCR を編集してカスタムマニフェストフォルダーとincludeファイルを設定します。次に例を示します。clusters: - clusterName: "site1-sno-du" extraManifestPath: "<custom_manifest_folder>"1 extraManifests: filter: inclusionDefault: exclude2 include: - custom-sctp-machine-config-worker.yaml次の例は、カスタムフォルダー構造を示しています。
siteconfig ├── site1-sno-du.yaml └── user-custom-manifest └── custom-sctp-machine-config-worker.yaml