This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.19.9. PolicyGenTemplate 리소스를 사용한 고급 관리형 클러스터 구성
				PolicyGenTemplate CR을 사용하여 관리 클러스터에 사용자 정의 기능을 배포할 수 있습니다.
			
19.9.1. 클러스터에 대한 추가 변경 사항 배포 링크 복사링크가 클립보드에 복사되었습니다!
기본 GitOps ZTP 파이프라인 구성 외부에서 클러스터 구성을 변경해야 하는 경우 다음 세 가지 옵션이 있습니다.
- ZTP 파이프라인이 완료된 후 추가 구성을 적용합니다.
 - GitOps ZTP 파이프라인 배포가 완료되면 배포된 클러스터는 애플리케이션 워크로드를 지원할 준비가 되어 있습니다. 이 시점에서 추가 Operator를 설치하고 요구 사항에 맞는 구성을 적용할 수 있습니다. 추가 구성이 플랫폼 또는 할당된 CPU 예산의 성능에 부정적인 영향을 미치지 않도록 합니다.
 - ZTP 라이브러리에 콘텐츠 추가
 - GitOps ZTP 파이프라인을 사용하여 배포하는 기본 소스 CR(사용자 정의 리소스)은 필요에 따라 사용자 정의 콘텐츠로 보강될 수 있습니다.
 - 클러스터 설치에 대한 추가 매니페스트 생성
 - 추가 매니페스트는 설치 중에 적용되며 설치 프로세스를 보다 효율적으로 수행할 수 있습니다.
 
추가 소스 CR을 제공하거나 기존 소스 CR을 수정하면 OpenShift Container Platform의 성능 또는 CPU 프로필에 심각한 영향을 미칠 수 있습니다.
19.9.2. PolicyGenTemplate CR을 사용하여 소스 CR 콘텐츠 덮어쓰기 링크 복사링크가 클립보드에 복사되었습니다!
					PolicyGenTemplate 사용자 정의 리소스(CR)를 사용하면 ztp-site-generate 컨테이너에서 GitOps 플러그인과 함께 제공되는 기본 소스 CR 상단에 추가 구성 세부 정보를 오버레이할 수 있습니다. PolicyGenTemplate CR을 기본 CR에 대한 논리적 병합 또는 패치로 생각할 수 있습니다. PolicyGenTemplate CR을 사용하여 기본 CR의 단일 필드를 업데이트하거나 기본 CR의 전체 콘텐츠를 오버레이합니다. 기본 CR에 없는 값을 업데이트하고 필드를 삽입할 수 있습니다.
				
					다음 예제 절차에서는 group-du-sno-ranGen.yaml 파일의 PolicyGenTemplate CR을 기반으로 참조 구성에 대해 생성된 PerformanceProfile CR의 필드를 업데이트하는 방법을 설명합니다. 요구 사항에 따라 PolicyGenTemplate 의 다른 부분을 수정하기 위해 절차를 기준으로 사용하십시오.
				
사전 요구 사항
- 사용자 정의 사이트 구성 데이터를 관리하는 Git 리포지토리를 생성합니다. 리포지토리는 hub 클러스터에서 액세스할 수 있어야 하며 Argo CD의 소스 리포지토리로 정의해야 합니다.
 
절차
기존 콘텐츠의 기준 소스 CR을 검토합니다. 0인터치 프로비저닝(ZTP) 컨테이너에서 추출하여 참조
PolicyGenTemplateCR에 나열된 소스 CR을 검토할 수 있습니다./out폴더를 생성합니다.mkdir -p ./out
$ mkdir -p ./outCopy to Clipboard Copied! Toggle word wrap Toggle overflow 소스 CR을 추출합니다.
podman run --log-driver=none --rm registry.redhat.io/openshift4/ztp-site-generate-rhel8:v{product-version}.1 extract /home/ztp --tar | tar x -C ./out$ podman run --log-driver=none --rm registry.redhat.io/openshift4/ztp-site-generate-rhel8:v{product-version}.1 extract /home/ztp --tar | tar x -C ./outCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
./out/source-crs/에서 기본 PerformanceProfile CR을 검토합니다.PerformanceProfile.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고PolicyGenTemplateCR에 제공되지 않는 경우 생성된 CR이 포함된 소스 CR의 모든 필드가 제거됩니다.group-du-sno-ranGen.yaml참조 파일에서PerformanceProfile에 대한PolicyGenTemplate항목을 업데이트합니다. 다음 예제PolicyGenTemplateCR 스탠자는 적절한 CPU 사양을 제공하고hugepages구성을 설정하고globallyDisableIrqLoadBalancing을 false로 설정하는 새 필드를 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 
							Git에서 
PolicyGenTemplate변경 사항을 커밋한 다음 GitOps ZTP argo CD 애플리케이션에서 모니터링하는 Git 리포지토리로 내보냅니다. 
출력 예
						ZTP 애플리케이션은 생성된 PerformanceProfile CR을 포함하는 RHACM 정책을 생성합니다. 해당 CR의 콘텐츠는 PolicyGenTemplate 의 PerformanceProfile 항목에서 메타데이터 및 사양 콘텐츠를 소스 CR에 병합하여 파생됩니다. 결과 CR에는 다음 내용이 있습니다.
					
						ztp-site-generate 컨테이너에서 추출한 /source-crs 폴더의 $ 구문은 구문에서 암시적으로 템플릿 대체에 사용되지 않습니다. 대신 policyGen 툴이 문자열에 대한 $ 접두사를 확인하고 관련 PolicyGenTemplate CR에서 해당 필드에 대한 값을 지정하지 않으면 해당 필드가 출력 CR에서 완전히 생략됩니다.
					
						이에 대한 예외는 PolicyGenTemplate CR에서 mcp 값으로 대체되는 /source-crs YAML 파일의 $mcp 변수입니다. 예를 들어 example/policygentemplates/group-du-standard-ranGen.yaml 에서 mcp 의 값은 worker 입니다.
					
spec:
  bindingRules:
    group-du-standard: ""
  mcp: "worker"
spec:
  bindingRules:
    group-du-standard: ""
  mcp: "worker"
						policyGen 툴은 $mcp 의 인스턴스를 출력 CR의 worker 로 교체합니다.
					
19.9.3. GitOps ZTP 파이프라인에 새 콘텐츠 추가 링크 복사링크가 클립보드에 복사되었습니다!
					GitOps ZTP 사이트 생성기 컨테이너의 소스 CR은 DU(RAN Distributed Unit) 애플리케이션에 대한 중요한 기능 및 노드 튜닝 설정 세트를 제공합니다. 이는 ZTP로 배포하는 클러스터에 적용됩니다. ztp-site-generate 컨테이너에서 기존 소스 CR을 추가하거나 수정하려면 ztp-site-generate 컨테이너를 다시 빌드하고 일반적으로 hub 클러스터와 연결된 연결이 끊긴 레지스트리에서 hub 클러스터에서 사용할 수 있도록 합니다. 유효한 OpenShift Container Platform CR을 추가할 수 있습니다.
				
다음 절차에 따라 새 콘텐츠를 ZTP 파이프라인에 추가합니다.
절차
업데이트된
ztp-site-generate컨테이너에 포함할 Containerfile 및 소스 CR YAML 파일이 포함된 디렉터리를 생성합니다. 예를 들면 다음과 같습니다.ztp-update/ ├── example-cr1.yaml ├── example-cr2.yaml └── ztp-update.in
ztp-update/ ├── example-cr1.yaml ├── example-cr2.yaml └── ztp-update.inCopy to Clipboard Copied! Toggle word wrap Toggle overflow ztp-update.inContainerfile에 다음 내용을 추가합니다.FROM registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.10 ADD example-cr2.yaml /kustomize/plugin/ran.openshift.io/v1/policygentemplate/source-crs/ ADD example-cr1.yaml /kustomize/plugin/ran.openshift.io/v1/policygentemplate/source-crs/
FROM registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.10 ADD example-cr2.yaml /kustomize/plugin/ran.openshift.io/v1/policygentemplate/source-crs/ ADD example-cr1.yaml /kustomize/plugin/ran.openshift.io/v1/policygentemplate/source-crs/Copy to Clipboard Copied! Toggle word wrap Toggle overflow ztp-update/폴더에 있는 터미널을 열고 컨테이너를 다시 빌드합니다.podman build -t ztp-site-generate-rhel8-custom:v4.10-custom-1
$ podman build -t ztp-site-generate-rhel8-custom:v4.10-custom-1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 빌드 컨테이너 이미지를 연결이 끊긴 레지스트리로 푸시합니다. 예를 들면 다음과 같습니다.
podman push localhost/ztp-site-generate-rhel8-custom:v4.10-custom-1 registry.example.com:5000/ztp-site-generate-rhel8-custom:v4.10-custom-1
$ podman push localhost/ztp-site-generate-rhel8-custom:v4.10-custom-1 registry.example.com:5000/ztp-site-generate-rhel8-custom:v4.10-custom-1Copy to Clipboard Copied! Toggle word wrap Toggle overflow hub 클러스터에 Argo CD 인스턴스를 패치하여 새로 빌드된 컨테이너 이미지를 가리킵니다.
oc patch -n openshift-gitops argocd openshift-gitops --type=json -p '[{"op": "replace", "path":"/spec/repo/initContainers/0/image", "value": "registry.example.com:5000/ztp-site-generate-rhel8-custom:v4.10-custom-1"} ]'$ oc patch -n openshift-gitops argocd openshift-gitops --type=json -p '[{"op": "replace", "path":"/spec/repo/initContainers/0/image", "value": "registry.example.com:5000/ztp-site-generate-rhel8-custom:v4.10-custom-1"} ]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Argo CD 인스턴스가 패치되면
openshift-gitops-repo-serverPod가 자동으로 다시 시작됩니다.
검증
새
openshift-gitops-repo-serverPod가 초기화를 완료했으며 이전 repo Pod가 종료되었는지 확인합니다.oc get pods -n openshift-gitops | grep openshift-gitops-repo-server
$ oc get pods -n openshift-gitops | grep openshift-gitops-repo-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
openshift-gitops-server-7df86f9774-db682 1/1 Running 1 28s
openshift-gitops-server-7df86f9774-db682 1/1 Running 1 28sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새로 추가된 컨테이너 이미지 콘텐츠를 사용할 수 있기 전에 새로운
openshift-gitops-repo-serverPod가 초기화를 완료할 때까지 기다려야 합니다.
19.9.4. 검증기를 사용하여 ZTP 클러스터 배포가 완료되었음을 알릴 수 있습니다. 링크 복사링크가 클립보드에 복사되었습니다!
유효성 검사기를 생성하면 배포된 클러스터의 설치 및 구성이 완료될 때 null touch 프로비저닝(ZTP)이 완료되면 신호를 알리는 정책을 알릴 수 있습니다. 이 정책은 단일 노드 OpenShift 클러스터, 3 노드 클러스터 및 표준 클러스터의 배포에 사용할 수 있습니다.
절차
소스 파일
validatorCRs/informDuValidator.yaml을 포함하는 독립 실행형PolicyGenTemplate사용자 정의 리소스(CR)를 생성합니다. 각 클러스터 유형에 대해 하나의 독립 실행형PolicyGenTemplateCR만 있으면 됩니다. 예를 들어, 이 CR은 단일 노드 OpenShift 클러스터에 대한 검증기를 적용합니다.예제 single-node 클러스터 검증기에서는 정책 CR을 알립니다 (group-du-sno-validator-ranGen.yaml).
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 PolicyGenTemplates오브젝트의 이름입니다. 이 이름은 요청된네임스페이스에서 생성된placementBinding,placementRule,정책의 이름의 일부로도 사용됩니다.- 2
 - 이 값은
PolicyGenTemplates그룹에 사용된네임스페이스와 일치해야 합니다. - 3
 bindingRules에 정의된group-du-*레이블은 siteConfig 파일에있어야 합니다.- 4
 bindingExcludedRules에 정의된 레이블은 'ztp-done:'이어야 합니다.ztp-done레이블은 토폴로지 Aware Lifecycle Manager와 조정하는 데 사용됩니다.- 5
 MCP는 소스 파일validatorCRs/informDuValidator.yaml에서 사용되는MachineConfigPool개체를 정의합니다. 단일 노드 및 표준 클러스터 배포를 위한 3-노드 클러스터 배포의 경우master여야 하며 표준 클러스터 배포를 위한worker여야 합니다.- 6
 - 선택사항입니다. 기본값은
inform입니다. - 7
 - 이 값은 생성된 RHACM 정책의 이름의 일부로 사용됩니다. 단일 노드 예제에 대해 생성된 검증기 정책은
group-du-sno-validator-du-policy입니다. 
- 
							Git 리포지토리에서 
PolicyGenTemplateCR 파일을 커밋하고 변경 사항을 내보냅니다. 
19.9.5. PolicyGenTemplate CR을 사용하여 PTP 빠른 이벤트 구성 링크 복사링크가 클립보드에 복사되었습니다!
					GitOps ZTP(ZTP) 파이프라인을 사용하여 배포된 vRAN 클러스터에 대해 PTP 빠른 이벤트를 구성할 수 있습니다. PolicyGenTemplate CR(사용자 정의 리소스)을 기반으로 사용하여 특정 사이트 요구 사항에 맞게 구성 파일의 계층을 생성합니다.
				
사전 요구 사항
- 사용자 정의 사이트 구성 데이터를 관리하는 Git 리포지토리를 생성합니다.
 
절차
common-ranGen.yaml파일의.spec.sourceFiles에 다음 YAML을 추가하여 AMQP Operator를 구성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 요구 사항에 따라
group-du-3node-ranGen.yaml,group-du-sno-ranGen.yaml또는group-du-standard-ranGen.yaml파일에 다음PolicyGenTemplate변경 사항을 적용합니다..sourceFiles.sourceFiles에서 AMQ 전송 호스트를config-policy에 구성하는PtpOperatorConfigCR 파일을 추가합니다.- fileName: PtpOperatorConfigForEvent.yaml policyName: "config-policy"
- fileName: PtpOperatorConfigForEvent.yaml policyName: "config-policy"Copy to Clipboard Copied! Toggle word wrap Toggle overflow PTP 클럭 유형 및 인터페이스에 대해
linuxptp및phc2sys를 구성합니다. 예를 들어 다음 스탠자를.sourceFiles에 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 - 요구 사항에 따라 하나의
PtpConfigMaster.yaml,PtpConfigSlave.yaml또는PtpConfigSlaveCvl.yaml이 될 수 있습니다.PtpConfigSlaveCvl.yaml은 Intel E810 콜롬비아 NIC에 대한linuxptp서비스를 구성합니다.group-du-sno-ranGen.yaml또는group-du-3node-ranGen.yaml을 기반으로 하는 구성의 경우PtpConfigSlave.yaml을 사용합니다. - 2
 - 장치별 인터페이스 이름입니다.
 - 3
 - PTP fast 이벤트를 활성화하려면
.spec.sourceFiles.spec.profile의ptp4lOpts에--summary_interval -4값을 추가해야 합니다. - 4
 - 필수
phc2sysOpts값.-m에서stdout에 메시지를 출력합니다.linuxptp-daemonDaemonSet은 로그를 구문 분석하고 Prometheus 지표를 생성합니다. - 5
 - 선택사항입니다.
ptpClockThreshold가 없으면 기본값이ptpClockThreshold필드에 사용됩니다. 스탠자는 기본ptpClockThreshold값을 표시합니다.ptpClockThreshold값은 PTP 이벤트가 트리거되기 전에 PTP 마스터 클럭이 연결 해제된 후의 기간을 구성합니다.holdOverTimeout은 PTP 마스터 클럭의 연결이 끊어지면 PTP 클럭 이벤트 상태가FREERUN로 변경되기 전 시간(초)입니다.maxOffsetThreshold및minOffsetThreshold설정은CLOCK_REALTIME(phc2sys) 또는 마스터 오프셋(ptp4l)의 값과 비교되는 나노초에 오프셋 값을 구성합니다.ptp4l또는phc2sys오프셋 값이 이 범위를 벗어나는 경우 PTP 클럭 상태가FREERUN로 설정됩니다. 오프셋 값이 이 범위 내에 있으면 PTP 클럭 상태가LOCKED로 설정됩니다. 
특정 사이트 YAML 파일에 다음
PolicyGenTemplate변경 사항을 적용합니다(예:example-sno-site.yaml)..sourceFiles.sourceFiles에서 AMQ 라우터를config-policy에 구성하는InterconnectCR 파일을 추가합니다.- fileName: AmqInstance.yaml policyName: "config-policy"
- fileName: AmqInstance.yaml policyName: "config-policy"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
- 필요한 기타 변경 사항 및 파일을 사용자 정의 사이트 리포지토리와 병합합니다.
 - 사이트 구성 리포지토리로 변경 사항을 푸시하여 GitOps ZTP를 사용하여 PTP 빠른 이벤트를 새 사이트에 배포합니다.
 
19.9.6. PolicyGenTemplate CR을 사용하여 베어 메탈 이벤트 모니터링 구성 링크 복사링크가 클립보드에 복사되었습니다!
GitOps ZeroECDHE Provisioning(ZTP) 파이프라인을 사용하여 배포되는 vRAN 클러스터에 대해 베어 메탈 하드웨어 이벤트를 구성할 수 있습니다.
사전 요구 사항
- 
							OpenShift CLI(
oc)를 설치합니다. - 
							
cluster-admin권한이 있는 사용자로 로그인합니다. - 사용자 정의 사이트 구성 데이터를 관리하는 Git 리포지토리를 생성합니다.
 
절차
AMQ Interconnect Operator 및 Bare Metal Event Relay Operator를 구성하려면
common-ranGen.yaml파일의spec.sourceFiles에 다음 YAML을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사이트 구성 파일의
.spec.sourceFiles에InterconnectCR을 추가합니다(예:example-sno-site.yaml파일).- fileName: AmqInstance.yaml policyName: "config-policy"
- fileName: AmqInstance.yaml policyName: "config-policy"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 특정 그룹 구성 파일의
spec.sourceFiles에HardwareEventCR을 추가합니다(예:group-du-sno-ranGen.yaml파일).Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 transportHostURL은 기존 AMQ Interconnect CR이름과네임스페이스로 구성됩니다. 예를 들어transportHost: "amqp://amq-router.amq-router.svc.cluster.local"에서 AMQ Interconnect이름과네임스페이스는 모두mq-router로 설정됩니다.
참고각 BMC(Baseboard Management Controller)에는 단일
HardwareEvent리소스만 필요합니다.- 
							Git에서 
PolicyGenTemplate변경 사항을 커밋한 다음 사이트 구성 리포지토리에 변경 사항을 푸시하여 GitOps ZTP를 사용하여 베어 메탈 이벤트 모니터링을 새 사이트에 배포합니다. 다음 명령을 실행하여 Redfish 보안을 생성합니다.
oc -n openshift-bare-metal-events create secret generic redfish-basic-auth \ --from-literal=username=<bmc_username> --from-literal=password=<bmc_password> \ --from-literal=hostaddr="<bmc_host_ip_addr>"
$ oc -n openshift-bare-metal-events create secret generic redfish-basic-auth \ --from-literal=username=<bmc_username> --from-literal=password=<bmc_password> \ --from-literal=hostaddr="<bmc_host_ip_addr>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow