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


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

참고

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

사전 요구 사항

  • OpenShift CLI(oc)가 설치되어 있습니다.
  • cluster-admin 권한이 있는 사용자로 로그인했습니다.

프로세스

  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
    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에 대한 사용자 정의 CR 디렉터리를 생성합니다.
    12 14
    사용자 지정 /siteconfig 디렉터리에 디렉터리를 생성하여 ztp-site-generate 컨테이너의 추가 매니페스트를 포함합니다.
    13 15
    사용자 제공 매니페스트를 저장할 폴더를 생성합니다.
    참고

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

  4. 생성한 디렉터리의 검색 경로를 포함하도록 SiteConfig CR을 편집합니다. extraManifests.searchPaths 아래에 나열된 첫 번째 디렉터리는 참조 매니페스트가 포함된 디렉터리여야 합니다. 디렉터리가 나열되는 순서를 고려하십시오. 디렉터리에 이름이 같은 파일이 포함된 경우 최종 디렉터리의 파일이 우선합니다.

    siteConfig CR의 예

    extraManifests:
        searchPaths:
        - extra-manifest/ 1
        - custom-manifest/ 2

    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
    1
    버전 4.13을 활성화합니다.
    2
    주석을 사용하여 버전을 비활성화합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.