2.9. GitOps ZTP 사이트 구성 리포지토리 준비
GitOps ZTP(ZTP) 파이프라인을 사용하려면 사이트 구성 데이터를 호스팅하기 위해 Git 리포지토리를 준비해야 합니다.
사전 요구 사항
- 필요한 설치 및 정책 CR(사용자 정의 리소스)을 생성하도록 Hub 클러스터 GitOps 애플리케이션을 구성했습니다.
- GitOps ZTP를 사용하여 관리 클러스터를 배포했습니다.
프로세스
SiteConfig
및PolicyGenerator
또는PolicyGentemplate
CR에 대한 별도의 경로를 사용하여 디렉터리 구조를 생성합니다.참고site
Config
및PolicyGenerator
또는PolicyGentemplate
CR을 별도의 디렉터리에 보관합니다.SiteConfig
및PolicyGenerator
또는PolicyGentemplate
디렉터리에 둘 다 해당 디렉터리에 파일을 명시적으로 포함하는kustomization.yaml
파일이 포함되어야 합니다.다음 명령을 사용하여
ztp-site-generate
컨테이너 이미지에서argocd
디렉터리를 내보냅니다.$ podman pull registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.17
$ mkdir -p ./out
$ podman run --log-driver=none --rm registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.17 extract /home/ztp --tar | tar x -C ./out
out
디렉터리에 다음 하위 디렉터리가 포함되어 있는지 확인합니다.-
out/extra-manifest
에는SiteConfig
에서 추가 매니페스트configMap
을 생성하는 데 사용하는 소스 CR 파일이 포함되어 있습니다. -
Out/source-crs
에는PolicyGenerator
가 RHACM(Red Hat Advanced Cluster Management) 정책을 생성하는 데 사용하는 소스 CR 파일이 포함되어 있습니다. -
out/argocd/deployment
에는 이 절차의 다음 단계에서 사용할 허브 클러스터에 적용할 패치 및 YAML 파일이 포함되어 있습니다. -
out/argocd/example
에는 권장 구성을 나타내는SiteConfig
및PolicyGenerator
또는PolicyGentemplate
파일의 예가 포함되어 있습니다.
-
-
out/source-crs
폴더 및 콘텐츠를PolicyGenerator
또는PolicyGentemplate
디렉터리에 복사합니다. out/extra-manifests 디렉터리에는 RAN DU 클러스터에 대한 참조 매니페스트가 포함되어 있습니다.
out/extra-manifests
디렉터리를 siteConfig
폴더에 복사합니다. 이 디렉터리에는ztp-site-generate
컨테이너의 CR만 포함되어야 합니다. 여기에 사용자 제공 CR을 추가하지 마십시오. 사용자 제공 CR을 사용하려면 해당 콘텐츠에 대한 다른 디렉터리를 생성해야 합니다. 예를 들면 다음과 같습니다.example/ ├── acmpolicygenerator │ ├── kustomization.yaml │ └── source-crs/ ├── policygentemplates 1 │ ├── kustomization.yaml │ └── source-crs/ └── siteconfig ├── extra-manifests └── kustomization.yaml
- 1
PolicyGenTemplate
CR을 사용하여 클러스터를 관리하기 위한 정책을 관리하고 배포하는 경우 향후 OpenShift Container Platform 릴리스에서 더 이상 사용되지 않습니다. RHACM(Red Hat Advanced Cluster Management) 및PolicyGenerator
CR을 사용하면 동일하고 개선된 기능을 사용할 수 있습니다.
-
디렉터리 구조와
kustomization.yaml
파일을 커밋하고 Git 리포지토리로 내보냅니다. Git으로의 초기 내보내기에는kustomization.yaml
파일이 포함되어야 합니다.
out/argocd/example
아래의 디렉터리 구조를 Git 리포지토리의 구조 및 콘텐츠에 대한 참조로 사용할 수 있습니다. 이러한 구조에는 단일 노드, 3-노드 및 표준 클러스터에 대한 SiteConfig
및 PolicyGenerator
또는 PolicyGentemplate
참조 CR이 포함됩니다. 사용하지 않는 클러스터 유형에 대한 참조를 제거합니다.
모든 클러스터 유형의 경우 다음을 수행해야 합니다.
-
source-crs
하위 디렉터리를acmpolicygenerator
또는policygentemplates
디렉터리에 추가합니다. -
extra-manifests
디렉터리를siteconfig
디렉터리에 추가합니다.
다음 예제에서는 단일 노드 클러스터 네트워크에 대한 CR 세트를 설명합니다.
example/ ├── acmpolicygenerator │ ├── acm-common-ranGen.yaml │ ├── acm-example-sno-site.yaml │ ├── acm-group-du-sno-ranGen.yaml │ ├── group-du-sno-validator-ranGen.yaml │ ├── kustomization.yaml │ ├── source-crs/ │ └── ns.yaml └── siteconfig ├── example-sno.yaml ├── extra-manifests/ 1 ├── custom-manifests/ 2 ├── KlusterletAddonConfigOverride.yaml └── kustomization.yaml
PolicyGenTemplate
CR을 사용하여 관리 클러스터에 대한 정책을 관리하고 배포하면 향후 OpenShift Container Platform 릴리스에서 더 이상 사용되지 않습니다. RHACM(Advanced Cluster Management) 및 PolicyGenerator
CR을 사용하여 동일하고 개선된 기능을 사용할 수 있습니다.
PolicyGenerator
리소스에 대한 자세한 내용은 RHACM 정책 생성기 설명서를 참조하십시오.