10.11. PolicyGenTemplate CR에서 허브 템플릿 사용
토폴로지 Aware Lifecycle Manager는 GitOps ZTP(ZTP)와 함께 사용되는 구성 정책에서 partial Red Hat Advanced Cluster Management(RHACM) 허브 클러스터 템플릿 기능을 지원합니다.
Hub-side 클러스터 템플릿을 사용하면 대상 클러스터에 동적으로 사용자 지정할 수 있는 구성 정책을 정의할 수 있습니다. 이렇게 하면 similiar 구성이 있지만 값이 다른 많은 클러스터에 대해 별도의 정책을 만들 필요가 줄어듭니다.
정책 템플릿은 정책이 정의된 네임스페이스와 동일한 네임스페이스로 제한됩니다. 즉, 정책이 생성되는 동일한 네임스페이스의 hub 템플릿에서 참조되는 오브젝트를 생성해야 합니다.
다음과 같은 지원되는 허브 템플릿 함수는 TALM을 사용하여 GitOps ZTP에서 사용할 수 있습니다.
fromConfigmap은 이름이 지정된ConfigMap리소스에 제공된 데이터 키 값을 반환합니다.참고ConfigMapCR에는 1MiB 크기 제한이 있습니다.ConfigMapCR의 유효 크기는last-applied-configuration주석으로 추가로 제한됩니다.last-applied-configuration제한을 방지하려면 템플릿ConfigMap에 다음 주석을 추가합니다.argocd.argoproj.io/sync-options: Replace=true-
base64enc는 입력 문자열의 base64 인코딩 값을 반환합니다. -
base64dec은 base64로 인코딩된 입력 문자열의 디코딩된 값을 반환합니다. -
들여쓰기는 추가된 들여쓰기 공백을 사용하여 입력 문자열을 반환합니다. -
autoindent는 상위 템플릿에 사용된 간격에 따라 추가 들여쓰기가 포함된 입력 문자열을 반환합니다. -
ToInt입력 값의 정수 값을 캐스팅하고 반환합니다. -
toBool입력 문자열을 부울 값으로 변환하고 부울을 반환합니다.
GitOps ZTP에서 다양한 오픈 소스 커뮤니티 기능 도 사용할 수 있습니다.
10.11.1. hub 템플릿 예 링크 복사링크가 클립보드에 복사되었습니다!
다음 코드 예제는 유효한 허브 템플릿입니다. 이러한 각 템플릿은 기본 네임스페이스에 test-config 라는 이름으로 ConfigMap CR의 값을 반환합니다.
common-key키를 사용하여 값을 반환합니다.{{hub fromConfigMap "default" "test-config" "common-key" hub}}.ManagedClusterName필드의 연결된 값과-name문자열을 사용하여 문자열을 반환합니다.{{hub fromConfigMap "default" "test-config" (printf "%s-name" .ManagedClusterName) hub}}.ManagedClusterName필드의 연결된 값 및 문자열-name:에서 부울 값을 캐스팅하고 반환합니다.{{hub fromConfigMap "default" "test-config" (printf "%s-name" .ManagedClusterName) | toBool hub}}.ManagedClusterName필드의 연결된 값 및 문자열-name:에서 정수 값을 캐스팅하고 반환합니다.{{hub (printf "%s-name" .ManagedClusterName) | fromConfigMap "default" "test-config" | toInt hub}}