19.8. siteConfig 리소스를 사용한 고급 관리형 클러스터 구성
site Config
CR(사용자 정의 리소스)을 사용하여 설치 시 관리 클러스터에 사용자 정의 기능 및 구성을 배포할 수 있습니다.
19.8.1. GitOps ZTP 파이프라인에서 추가 설치 매니페스트 사용자 정의
GitOps ZeroForwarded Provisioning (ZTP) 파이프라인의 설치 단계에 포함하기 위해 추가 매니페스트 세트를 정의할 수 있습니다. 이러한 매니페스트는 site Config
CR(사용자 정의 리소스)에 연결되며 설치 중에 클러스터에 적용됩니다. 설치 시 MachineConfig
CR을 포함하면 설치 프로세스가 향상됩니다.
사전 요구 사항
- 사용자 정의 사이트 구성 데이터를 관리하는 Git 리포지토리를 생성합니다. 리포지토리는 hub 클러스터에서 액세스할 수 있어야 하며 Argo CD 애플리케이션의 소스 리포지토리로 정의해야 합니다.
절차
- GitOps ZTP 파이프라인에서 클러스터 설치를 사용자 지정하는 데 사용하는 추가 매니페스트 CR 세트를 생성합니다.
사용자 지정
/siteconfig
디렉터리에서 추가 매니페스트에 대한/extra-manifest
폴더를 생성합니다. 다음 예제에서는/extra-manifest
폴더가 있는 샘플/siteconfig
를 보여줍니다.siteconfig ├── site1-sno-du.yaml ├── site2-standard-du.yaml └── extra-manifest └── 01-example-machine-config.yaml
-
사용자 정의 추가 매니페스트 CR을
siteconfig/extra-manifest
디렉터리에 추가합니다. site
Config CR
에서extraManifestPath
필드에 디렉터리 이름을 입력합니다. 예를 들면 다음과 같습니다.clusters: - clusterName: "example-sno" networkType: "OVNKubernetes" extraManifestPath: extra-manifest
-
site
Config
CR 및/extra-manifest
CR을 저장하고 사이트 구성 리포지토리로 내보냅니다.
GitOps ZTP 파이프라인은 클러스터 프로비저닝 중에 /extra-manifest
디렉터리의 CR을 기본 매니페스트 세트에 추가합니다.
19.8.2. siteConfig 필터를 사용하여 사용자 정의 리소스 필터링
필터를 사용하면 GTP(사용자 정의 리소스) 파이프라인의 설치 단계에서 사용할 다른 CR을 포함하거나 제외하도록 SiteConfig
사용자 지정 리소스(CR)를 쉽게 사용자 지정할 수 있습니다.
포함하거나
제외
하려는 특정 extraManifest
RAN CR 목록과 함께 site Config
CR 포함
또는 제외를 지정할 수 있습니다. inclusionDefault
를 include
로 설정하면 GitOps ZTP 파이프라인에서 설치 중에 /source-crs/extra-manifest
의 모든 파일을 적용합니다. inclusionDefault
를 exclude
로 설정하면 그 반대의 작업이 수행됩니다.
기본적으로 포함된 /source-crs/extra-manifest
폴더에 개별 CR을 제외할 수 있습니다. 다음 예제에서는 설치 시
CR을 구성합니다.
/source-crs/extra-manifest/03-sctp-machine-config-worker.yaml
CR을 제외하도록 사용자 지정 단일 노드 OpenShift siteConfig
일부 추가 선택적 필터링 시나리오도 설명되어 있습니다.
사전 요구 사항
- 필요한 설치 및 정책 CR을 생성하기 위해 hub 클러스터를 구성했습니다.
- 사용자 정의 사이트 구성 데이터를 관리하는 Git 리포지토리를 생성하셨습니다. 리포지토리는 hub 클러스터에서 액세스할 수 있어야 하며 Argo CD 애플리케이션의 소스 리포지토리로 정의해야 합니다.
절차
GitOps ZTP 파이프라인에서
03-sctp-machine-config-worker.yaml
CR 파일을 적용하지 않으려면SiteConfig
CR에 다음 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.13" 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이 적용됩니다.site
Config
CR을 저장하고 변경 사항을 사이트 구성 리포지토리로 내보냅니다.GitOps ZTP 파이프라인은
SiteConfig
필터 지침에 따라 적용되는 CR을 모니터링하고 조정합니다.선택 사항: GitOps ZTP 파이프라인에서 클러스터 설치 중에 모든
/source-crs/extra-manifest
CR을 적용하지 못하도록 하려면SiteConfig
CR에 다음 YAML을 적용합니다.- clusterName: "site1-sno-du" extraManifests: filter: inclusionDefault: exclude
선택 사항: 모든
/source-crs/extra-manifest
RAN CR을 제외하고 설치 중에 사용자 정의 CR 파일을 포함하려면 사용자 정의 siteConfig
CR을 편집하여 사용자 정의 매니페스트 폴더 및포함
파일을 설정합니다.clusters: - clusterName: "site1-sno-du" extraManifestPath: "<custom_manifest_folder>" 1 extraManifests: filter: inclusionDefault: exclude 2 include: - custom-sctp-machine-config-worker.yaml
다음 예제에서는 사용자 정의 폴더 구조를 보여줍니다.
siteconfig ├── site1-sno-du.yaml └── user-custom-manifest └── custom-sctp-machine-config-worker.yaml