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.yaml
CR ファイルを適用しないようにするには、SiteConfig
CR で次の YAML を適用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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.18" sshPublicKey: "<ssh_public_key>" clusters: - clusterName: "site1-sno-du" extraManifests: filter: exclude: - 03-sctp-machine-config-worker.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.18" sshPublicKey: "<ssh_public_key>" clusters: - clusterName: "site1-sno-du" extraManifests: filter: exclude: - 03-sctp-machine-config-worker.yaml
GitOps ZTP パイプラインは、インストール中に
03-sctp-machine-config-worker.yaml
CR をスキップします。/source-crs/extra-manifest
内の他のすべての CR が適用されます。SiteConfig
CR を保存し、変更をサイト設定リポジトリーにプッシュします。GitOps ZTP パイプラインは、
SiteConfig
フィルター命令に基づいて適用する CR を監視および調整します。オプション: クラスターのインストール中に GitOps ZTP パイプラインがすべての
/source-crs/extra-manifest
CR を適用しないようにするには、SiteConfig
CR で次の YAML を適用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - clusterName: "site1-sno-du" extraManifests: filter: inclusionDefault: exclude
- clusterName: "site1-sno-du" extraManifests: filter: inclusionDefault: exclude
オプション: インストール中にすべての
/source-crs/extra-manifest
RAN CR を除外し、代わりにカスタム CR ファイルを含めるには、カスタムSiteConfig
CR を編集してカスタムマニフェストフォルダーとinclude
ファイルを設定します。次に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow clusters: - clusterName: "site1-sno-du" extraManifestPath: "<custom_manifest_folder>" extraManifests: filter: inclusionDefault: exclude include: - custom-sctp-machine-config-worker.yaml
clusters: - clusterName: "site1-sno-du" extraManifestPath: "<custom_manifest_folder>"
1 extraManifests: filter: inclusionDefault: exclude
2 include: - custom-sctp-machine-config-worker.yaml
次の例は、カスタムフォルダー構造を示しています。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow siteconfig ├── site1-sno-du.yaml └── user-custom-manifest └── custom-sctp-machine-config-worker.yaml
siteconfig ├── site1-sno-du.yaml └── user-custom-manifest └── custom-sctp-machine-config-worker.yaml