8.2. SiteConfig 필터를 사용하여 사용자 정의 리소스 필터링
필터를 사용하면 SiteConfig 사용자 정의 리소스(CR)를 쉽게 사용자 지정하여 GitOps Zero Touch Provisioning(ZTP) 파이프라인의 설치 단계에서 사용할 다른 CR을 포함하거나 제외할 수 있습니다.
SiteConfig CR에 대해 include 또는 exclude 의 inclusionDefault 값을 지정할 수 있으며, 포함하거나 제외하려는 특정 extraManifest RAN CR 목록도 지정할 수 있습니다. inclusionDefault를 include 로 설정하면 GitOps ZTP 파이프라인이 설치 중에 /source-crs/extra-manifest 에 있는 모든 파일을 적용합니다. inclusionDefault를 exclude 로 설정하면 반대의 결과가 발생합니다.
기본적으로 포함된 개별 CR을 /source-crs/extra-manifest 폴더에서 제외할 수 있습니다. 다음 예제에서는 설치 시 /source-crs/extra-manifest/03-sctp-machine-config-worker.yaml CR을 제외하도록 사용자 지정 단일 노드 OpenShift SiteConfig 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을 편집하여 사용자 정의 매니페스트 폴더와포함파일을 설정합니다.예: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