2.9. GitOps ZTP 사이트 구성 리포지토리 준비
GitOps Zero Touch Provisioning(ZTP) 파이프라인을 사용하려면 먼저 사이트 구성 데이터를 호스팅할 Git 저장소를 준비해야 합니다.
사전 요구 사항
- 필요한 설치 및 정책 사용자 정의 리소스(CR)를 생성하기 위해 허브 클러스터 GitOps 애플리케이션을 구성했습니다.
- GitOps ZTP를 사용하여 관리형 클러스터를 배포했습니다.
프로세스
SiteConfig및PolicyGenerator또는PolicyGentemplateCR에 대해 별도의 경로가 있는 디렉토리 구조를 만듭니다.참고SiteConfig와PolicyGenerator또는PolicyGentemplateCR을 별도의 디렉토리에 보관하세요.SiteConfig와PolicyGenerator또는PolicyGentemplate디렉토리에는 모두 해당 디렉토리의 파일을 명시적으로 포함하는kustomization.yaml파일이 있어야 합니다.다음 명령을 사용하여
ztp-site-generate컨테이너 이미지에서argocd디렉토리를 내보냅니다.$ podman pull registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.19$ mkdir -p ./out$ podman run --log-driver=none --rm registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.19 extract /home/ztp --tar | tar x -C ./outout디렉토리에 다음 하위 디렉토리가 포함되어 있는지 확인하세요.-
out/extra-manifest에는SiteConfig가추가 매니페스트configMap을생성하는 데 사용하는 소스 CR 파일이 포함되어 있습니다. -
out/source-crs에는PolicyGenerator가Red Hat Advanced Cluster Management(RHACM) 정책을 생성하는 데 사용하는 소스 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 릴리스에서 더 이상 사용되지 않습니다. Red Hat Advanced Cluster Management(RHACM) 및PolicyGeneratorCR을 사용하면 동일하거나 향상된 기능을 사용할 수 있습니다.
-
디렉토리 구조와
kustomization.yaml파일을 커밋하고 Git 저장소에 푸시합니다. Git에 대한 초기 푸시에는kustomization.yaml파일이 포함되어야 합니다.
out/argocd/example 아래의 디렉토리 구조를 Git 저장소의 구조와 내용에 대한 참고자료로 사용할 수 있습니다. 이러한 구조에는 단일 노드, 3-노드 및 표준 클러스터에 대한 SiteConfig 및 PolicyGenerator 또는 PolicyGentemplate 참조 CR이 포함됩니다. 사용하지 않는 클러스터 유형에 대한 참조를 제거합니다.
모든 클러스터 유형에 대해 다음을 수행해야 합니다.
-
acmpolicygenerator또는policygentemplates디렉토리에source-crs하위 디렉토리를 추가합니다. -
siteconfig디렉토리에extra-manifests디렉토리를 추가합니다.
다음 예에서는 단일 노드 클러스터 네트워크에 대한 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 릴리스에서 더 이상 지원되지 않습니다. Red Hat Advanced Cluster Management(RHACM) 및 PolicyGenerator CR을 사용하면 동일하거나 향상된 기능을 사용할 수 있습니다.
PolicyGenerator 리소스에 대한 자세한 내용은 RHACM 통합 정책 생성기 문서를 참조하세요.