2.9. GitOps ZTP 사이트 구성 리포지토리 준비
GitOps ZTP(ZTP) 파이프라인을 사용하려면 사이트 구성 데이터를 호스팅하기 위해 Git 리포지토리를 준비해야 합니다.
사전 요구 사항
- 필요한 설치 및 정책 CR(사용자 정의 리소스)을 생성하도록 Hub 클러스터 GitOps 애플리케이션을 구성했습니다.
- GitOps ZTP를 사용하여 관리 클러스터를 배포했습니다.
프로세스
SiteConfig및PolicyGenerator또는PolicyGentemplateCR에 대한 별도의 경로를 사용하여 디렉터리 구조를 생성합니다.참고site
Config및PolicyGenerator또는PolicyGentemplateCR을 별도의 디렉터리에 보관합니다.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 ./outout디렉터리에 다음 하위 디렉터리가 포함되어 있는지 확인합니다.-
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/ ├── policygentemplates1 │ ├── kustomization.yaml │ └── source-crs/ └── siteconfig ├── extra-manifests └── kustomization.yaml- 1
PolicyGenTemplateCR을 사용하여 클러스터를 관리하기 위한 정책을 관리하고 배포하는 경우 향후 OpenShift Container Platform 릴리스에서 더 이상 사용되지 않습니다. RHACM(Red Hat Advanced Cluster Management) 및PolicyGeneratorCR을 사용하면 동일하고 개선된 기능을 사용할 수 있습니다.
-
디렉터리 구조와
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/
├── custom-manifests/
├── KlusterletAddonConfigOverride.yaml
└── kustomization.yaml
PolicyGenTemplate CR을 사용하여 관리 클러스터에 대한 정책을 관리하고 배포하면 향후 OpenShift Container Platform 릴리스에서 더 이상 사용되지 않습니다. RHACM(Advanced Cluster Management) 및 PolicyGenerator CR을 사용하여 동일하고 개선된 기능을 사용할 수 있습니다.
PolicyGenerator 리소스에 대한 자세한 내용은 RHACM 정책 생성기 설명서를 참조하십시오.