2.2. 설치 템플릿 개요


설치 템플릿은 설치 아티팩트 세트를 생성하는 데 사용되는 데이터 기반 템플릿입니다. 이러한 템플릿은 Golang 텍스트/템플릿 형식을 따르고 ClusterInstance 사용자 정의 리소스의 데이터를 사용하여 인스턴스화됩니다. 이를 통해 유사한 구성이 있지만 값이 다른 각 대상 클러스터에 대해 동적 설치 매니페스트를 생성할 수 있습니다.

다양한 설치 방법 또는 클러스터 토폴로지를 기반으로 여러 세트를 생성할 수도 있습니다. SiteConfig Operator는 다음 유형의 설치 템플릿을 지원합니다.

클러스터 수준
클러스터별 필드만 참조해야 하는 템플릿입니다.
노드 수준
클러스터별 필드와 노드별 필드를 모두 참조할 수 있는 템플릿입니다.

설치 템플릿에 대한 자세한 내용은 다음 설명서를 참조하십시오.

2.2.1. 템플릿 함수

templated 필드를 사용자 지정할 수 있습니다. SiteConfig Operator는 모든 sprig 라이브러리 함수 를 지원합니다.

또한 ClusterInstance API는 사용자 정의 매니페스트를 생성하는 동안 사용할 수 있는 다음 기능을 제공합니다.

toYaml
toYaml 함수는 항목을 YAML 문자열로 인코딩합니다. 항목을 YAML로 변환할 수 없는 경우 함수는 빈 문자열을 반환합니다.

ClusterInstance.Spec.Proxy 필드에서 .toYaml 사양의 다음 예제를 참조하십시오.

{{ if .Spec.Proxy }}
  proxy:
{{ .Spec.Proxy | toYaml | indent 4 }}
{{ end }}
Copy to Clipboard Toggle word wrap

2.2.2. 기본 템플릿 세트

SiteConfig Operator는 Operator가 설치된 동일한 네임스페이스에 있는 다음과 같은 기본, 유효성 검사 및 변경 불가능한 템플릿 세트를 제공합니다.

Expand
설치 방법템플릿 유형파일 이름템플릿 콘텐츠

지원되는 설치 관리자

클러스터 수준 템플릿

ai-cluster-templates-v1.yaml

AgentClusterInstall
ClusterDeployment
InfraEnv
KlusterletAddonConfig
ManagedCluster

노드 수준 템플릿

ai-node-templates-v1.yaml

BareMetalHost
NMStateConfig

이미지 기반 Install Operator

클러스터 수준 템플릿

ibi-cluster-templates-v1.yaml

ClusterDeployment
KlusterletAddonConfig
ManagedCluster

노드 수준 템플릿

ibi-node-templates-v1.yaml

BareMetalHost
ImageClusterInstall
NetworkSecret

ClusterInstance API에 대한 자세한 내용은 ClusterInstance API 를 참조하십시오.

2.2.3. 특수 템플릿 변수

SiteConfig Operator는 템플릿에서 사용할 수 있는 특수 템플릿 변수 집합을 제공합니다. 다음 목록을 참조하십시오.

CurrentNode
SiteConfig Operator는 노드 개체의 반복을 명시적으로 제어하고 이 변수를 노출하여 템플릿에서 처리되는 현재 노드의 모든 콘텐츠에 액세스합니다.
InstallConfigOverrides
병합된 networkType,cpu CryostatingModeinstallConfigOverrides 콘텐츠를 포함합니다.
ControlPlaneAgents
컨트롤 플레인 에이전트 수로 구성되며 ClusterInstance 노드 오브젝트에서 자동으로 파생됩니다.
WorkerAgents
작업자 에이전트 수로 구성되며 ClusterInstance 노드 오브젝트에서 자동으로 파생됩니다.

텍스트 템플릿에서 필드 이름을 대문자로 지정하여 사용자 지정 템플릿 필드를 생성합니다.

예를 들어 ClusterInstance spec 필드는 .Spec 접두사를 사용하여 참조합니다. 그러나 .SpecialVars 접두사를 사용하여 특수 변수 필드를 참조해야 합니다.

중요: spec.nodes 필드에 .Spec.Nodes 접두사를 사용하는 대신 .SpecialVars.CurrentNode 특수 템플릿 변수로 참조해야 합니다.

예를 들어 CurrentNode 특수 템플릿 변수를 사용하여 현재 노드의 이름과 네임스페이스 를 지정하려면 다음 양식에서 필드 이름을 사용합니다.

name: "{{ .SpecialVars.CurrentNode.HostName }}"
namespace: "{{ .Spec.ClusterName }}"
Copy to Clipboard Toggle word wrap

2.2.4. 매니페스트 순서 사용자 정의

siteconfig.open-cluster-management.io/sync- ECDSA 주석을 사용하여 매니페스트가 생성, 업데이트 및 삭제된 순서를 제어할 수 있습니다. 주석은 정수를 값으로 사용하고 해당 정수는 웨이브 로 구성됩니다.

단일 웨이브에 하나 또는 여러 매니페스트를 추가할 수 있습니다. 값을 지정하지 않으면 주석에서 기본값인 0 을 사용합니다.

SiteConfig Operator는 리소스를 생성하거나 업데이트할 때 오름차순으로 매니페스트를 오름차순으로 조정하고 내림차순으로 리소스를 삭제합니다.

다음 예에서 SiteConfig Operator가 매니페스트를 생성하거나 업데이트하면 AgentClusterInstallClusterDeployment 사용자 정의 리소스가 첫 번째 웨이브에서 조정되는 반면 KlusterletAddonConfigManagedCluster 사용자 정의 리소스는 세 번째 파동에서 조정됩니다.

apiVersion: v1
data:
  AgentClusterInstall: |-
    ...
        siteconfig.open-cluster-management.io/sync-wave: "1"
    ...
  ClusterDeployment: |-
    ...
        siteconfig.open-cluster-management.io/sync-wave: "1"
    ...
  InfraEnv: |-
    ...
        siteconfig.open-cluster-management.io/sync-wave: "2"
    ...
  KlusterletAddonConfig: |-
    ...
        siteconfig.open-cluster-management.io/sync-wave: "3"
    ...
  ManagedCluster: |-
    ...
        siteconfig.open-cluster-management.io/sync-wave: "3"
    ...
kind: ConfigMap
metadata:
  name: assisted-installer-templates
  namespace: example-namespace
Copy to Clipboard Toggle word wrap

SiteConfig Operator가 리소스를 삭제하는 경우 KlusterletAddonConfigManagedCluster 사용자 정의 리소스가 가장 먼저 삭제되는 반면 AgentClusterInstallClusterDeployment 사용자 정의 리소스가 마지막입니다.

2.2.5. 추가 주석 및 라벨 구성

ClusterInstance API에서 extraAnnotationsextraLabels 필드를 사용하여 클러스터 수준 및 노드 수준 설치 매니페스트 모두에 추가 주석 및 레이블을 구성할 수 있습니다. SiteConfig Operator는 ClusterInstance 리소스에서 지정하는 매니페스트에 추가 주석 및 레이블을 적용합니다.

추가 주석 및 레이블을 생성할 때 SiteConfig 운영자가 일치하는 모든 매니페스트에 적용할 수 있도록 매니페스트 유형을 지정해야 합니다. 그러나 주석과 레이블은 임의의 것이며 애플리케이션에 의미 있는 모든 키 및 값 쌍을 설정할 수 있습니다.

참고: 추가 주석 및 레이블은 참조된 템플릿을 통해 렌더링된 리소스에만 적용됩니다.

추가 주석 및 extra Labels 의 다음 예제 애플리케이션을 확인합니다.

추가 주석 및 extra Labels애플리케이션 예

apiVersion: siteconfig.open-cluster-management.io/v1alpha1
kind: ClusterInstance
metadata:
  name: "example-sno"
  namespace: "example-sno"
spec:
  [...]
  clusterName: "example-sno"
  extraAnnotations: 
1

    ClusterDeployment:
      myClusterAnnotation: success
  extraLabels: 
2

    ManagedCluster:
      common: "true"
      group-du: ""
  nodes:
    - hostName: "example-sno.example.redhat.com"
      role: "master"
      extraAnnotations: 
3

        BareMetalHost:
          myNodeAnnotation: success
      extraLabels: 
4

        BareMetalHost:
          "testExtraLabel": "success"
Copy to Clipboard Toggle word wrap

1 2
이 필드는 SiteConfig Operator가 ManagedClusterClusterDeployment 매니페스트에 적용하는 클러스터 수준 주석 및 레이블을 지원합니다.
3 4
이 필드는 SiteConfig Operator가 BareMetalHost 매니페스트에 적용하는 노드 수준 주석 및 레이블을 지원합니다.
  • 다음 명령을 실행하여 추가 레이블이 적용되었는지 확인할 수 있습니다.

    oc get managedclusters example-sno -ojsonpath='{.metadata.labels}' | jq
    Copy to Clipboard Toggle word wrap

    적용된 라벨의 다음 예제를 확인합니다.

    적용된 라벨 예

    {
      "common": "true",
      "group-du": "",
      ...
    }
    Copy to Clipboard Toggle word wrap

  • 다음 명령을 실행하여 추가 주석이 적용되었는지 확인할 수 있습니다.
oc get bmh example-sno.example.redhat.com -n example-sno -ojsonpath='{.metadata.annotations}' | jq
Copy to Clipboard Toggle word wrap

적용된 주석의 다음 예제를 확인합니다.

적용된 주석 예

{
  "myNodeAnnotation": "success",
  ...
}
Copy to Clipboard Toggle word wrap

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동