2.10. 버전 독립성을 위한 GitOps ZTP 사이트 구성 리포지토리 준비


GitOps ZTP를 사용하면 다양한 버전의 OpenShift Container Platform을 실행하는 관리형 클러스터에 대한 소스 사용자 정의 리소스(CR)를 관리할 수 있습니다. 즉, 허브 클러스터에서 실행되는 OpenShift Container Platform 버전은 관리되는 클러스터에서 실행되는 버전과 독립적일 수 있습니다.

참고

다음 절차에서는 클러스터 정책 관리를 위해 PolicyGentemplate 리소스 대신 PolicyGenerator 리소스를 사용한다고 가정합니다.

사전 요구 사항

  • OpenShift CLI(oc)가 설치되어 있습니다.
  • 클러스터 관리자 권한이 있는 사용자로 로그인했습니다.

프로세스

  1. SiteConfigPolicyGenerator CR에 대해 별도의 경로가 있는 디렉토리 구조를 만듭니다.
  2. PolicyGenerator 디렉터리 내에서 사용할 각 OpenShift Container Platform 버전에 대한 디렉터리를 생성합니다. 각 버전에 대해 다음 리소스를 만듭니다.

    • 해당 디렉터리에 파일을 명시적으로 포함하는 kustomization.yaml 파일
    • ztp-site-generate 컨테이너의 참조 CR 구성 파일을 포함하는 source-crs 디렉토리

      사용자가 제공한 CR을 사용하려면 별도의 디렉터리를 만들어야 합니다.

  3. /siteconfig 디렉토리에서 사용 가능하게 하려는 각 OpenShift Container Platform 버전에 대한 하위 디렉토리를 만듭니다. 각 버전별로 컨테이너에서 참조 CR을 복사할 디렉토리를 하나 이상 만듭니다. 디렉토리의 이름이나 참조 디렉토리의 수에는 제한이 없습니다. 사용자 정의 매니페스트로 작업하려면 해당 매니페스트에 대한 별도의 디렉토리를 만들어야 합니다.

    다음 예제에서는 다른 OpenShift Container Platform 버전에 대해 사용자 제공 매니페스트 및 CR을 사용하는 구조를 설명합니다.

    ├── acmpolicygenerator
    │   ├── kustomization.yaml 
    1
    
    │   ├── version_4.13 
    2
    
    │   │   ├── common-ranGen.yaml
    │   │   ├── group-du-sno-ranGen.yaml
    │   │   ├── group-du-sno-validator-ranGen.yaml
    │   │   ├── helix56-v413.yaml
    │   │   ├── kustomization.yaml 
    3
    
    │   │   ├── ns.yaml
    │   │   └── source-crs/ 
    4
    
    │   │      └── reference-crs/ 
    5
    
    │   │      └── custom-crs/ 
    6
    
    │   └── version_4.14 
    7
    
    │       ├── common-ranGen.yaml
    │       ├── group-du-sno-ranGen.yaml
    │       ├── group-du-sno-validator-ranGen.yaml
    │       ├── helix56-v414.yaml
    │       ├── kustomization.yaml 
    8
    
    │       ├── ns.yaml
    │       └── source-crs/ 
    9
    
    │         └── reference-crs/ 
    10
    
    │         └── custom-crs/ 
    11
    
    └── siteconfig
        ├── kustomization.yaml
        ├── version_4.13
        │   ├── helix56-v413.yaml
        │   ├── kustomization.yaml
        │   ├── extra-manifest/ 
    12
    
        │   └── custom-manifest/ 
    13
    
        └── version_4.14
            ├── helix57-v414.yaml
            ├── kustomization.yaml
            ├── extra-manifest/ 
    14
    
            └── custom-manifest/ 
    15
    Copy to Clipboard Toggle word wrap
    1
    최상위 수준의 kustomization YAML 파일을 만듭니다.
    2 7
    사용자 정의 /acmpolicygenerator 디렉토리 내에 버전별 디렉토리를 만듭니다.
    3 8
    각 버전에 대해 kustomization.yaml 파일을 만듭니다.
    4 9
    ztp-site-generate 컨테이너의 참조 CR을 포함하기 위해 각 버전에 대한 source-crs 디렉토리를 만듭니다.
    5 10
    ZTP 컨테이너에서 추출된 정책 CR에 대한 reference-crs 디렉토리를 만듭니다.
    6 11
    선택 사항: 사용자가 제공한 CR에 대한 custom-crs 디렉토리를 만듭니다.
    12 14
    ztp-site-generate 컨테이너의 추가 매니페스트를 포함하기 위해 사용자 정의 /siteconfig 디렉토리 내에 디렉토리를 만듭니다.
    13 15
    사용자가 제공한 매니페스트를 보관할 폴더를 만듭니다.
    참고

    이전 예에서 사용자 정의 /siteconfig 디렉토리의 각 버전 하위 디렉토리에는 두 개의 하위 디렉토리가 포함되어 있습니다. 하나는 컨테이너에서 복사한 참조 매니페스트를 포함하고, 다른 하나는 사용자가 제공하는 사용자 정의 매니페스트를 포함합니다. 해당 디렉토리에 지정된 이름은 예시일 뿐입니다. 사용자가 제공한 CR을 사용하는 경우 SiteConfig CR의 extraManifests.searchPaths 에 나열된 마지막 디렉토리가 사용자가 제공한 CR이 포함된 디렉토리여야 합니다.

  4. SiteConfig CR을 편집하여 생성한 모든 디렉토리의 검색 경로를 포함합니다. extraManifests.searchPaths 에 나열된 첫 번째 디렉토리는 참조 매니페스트를 포함하는 디렉토리여야 합니다. 디렉토리가 나열된 순서를 생각해 보세요. 디렉토리에 같은 이름의 파일이 있는 경우, 최종 디렉토리에 있는 파일이 우선합니다.

    SiteConfig CR 예시

    extraManifests:
        searchPaths:
        - extra-manifest/ 
    1
    
        - custom-manifest/ 
    2
    Copy to Clipboard Toggle word wrap

    1
    참조 매니페스트가 포함된 디렉토리는 먼저 extraManifests.searchPaths 아래에 나열되어야 합니다.
    2
    사용자가 제공한 CR을 사용하는 경우 SiteConfig CR의 extraManifests.searchPaths 에 나열된 마지막 디렉토리가 해당 사용자가 제공한 CR이 포함된 디렉토리여야 합니다.
  5. 최상위 kustomization.yaml 파일을 편집하여 활성화된 OpenShift Container Platform 버전을 제어합니다. 다음은 최상위 레벨의 kustomization.yaml 파일의 예입니다.

    resources:
    - version_4.13 
    1
    
    #- version_4.14 
    2
    Copy to Clipboard Toggle word wrap
    1
    버전 4.13을 활성화합니다.
    2
    댓글을 사용하여 버전을 비활성화합니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat