22.2. ZTP 용 hub 클러스터 준비


연결이 끊긴 환경에서 RHACM을 사용하려면 필요한 Operator 이미지가 포함된 OpenShift Container Platform 릴리스 이미지 및 OLM(Operator Lifecycle Manager) 카탈로그를 미러링하는 미러 레지스트리를 생성합니다. OLM은 Operator 및 클러스터의 종속 항목을 관리, 설치 및 업그레이드합니다. 연결이 끊긴 미러 호스트를 사용하여 베어 메탈 호스트를 프로비저닝하는 데 사용되는 RHCOS ISO 및 RootFS 디스크 이미지를 제공할 수도 있습니다.

22.2.1. telco RAN 4.11 검증 솔루션 소프트웨어 버전

Red Hat Telco radio Access Network (RAN) 버전 4.11 솔루션은 다음 Red Hat 소프트웨어 제품 버전을 사용하여 검증되었습니다.

표 22.2. telco RAN 4.11 검증 솔루션 소프트웨어
제품소프트웨어 버전

Hub 클러스터 OpenShift Container Platform 버전

4.11

GitOps ZTP plugin

4.9, 4.10, 또는 4.11

Red Hat Advanced Cluster Management (RHACM)

2.5 또는 2.6

Red Hat OpenShift GitOps

1.5

토폴로지 Aware Lifecycle Manager (TALM)

4.10 또는 4.11

22.2.2. 연결이 끊긴 환경에서 GitOps ZTP 설치

연결이 끊긴 환경의 허브 클러스터에서 RHACM (RHACM), Red Hat OpenShift GitOps 및 Topology Aware Lifecycle Manager (TALM)를 사용하여 여러 관리 클러스터의 배포를 관리합니다.

사전 요구 사항

  • OpenShift Container Platform CLI(oc)를 설치했습니다.
  • cluster-admin 권한이 있는 사용자로 로그인했습니다.
  • 클러스터에서 사용할 연결이 끊긴 미러 레지스트리를 구성했습니다.

    참고

    생성한 연결이 끊긴 미러 레지스트리에는 허브 클러스터에서 실행되는 TALM 버전과 일치하는 TALM 백업 버전 및 사전 캐시 이미지가 포함되어야 합니다. 스포크 클러스터는 연결이 끊긴 미러 레지스트리에서 이러한 이미지를 해결할 수 있어야 합니다.

절차

22.2.3. 연결이 끊긴 미러 호스트에 RHCOS ISO 및 RootFS 이미지 추가

RHACM(Red Hat Advanced Cluster Management)을 사용하여 연결이 끊긴 환경에서 클러스터를 설치하기 전에 먼저 사용할 RHCOS(Red Hat Enterprise Linux CoreOS) 이미지를 호스팅해야 합니다. 연결이 끊긴 미러를 사용하여 RHCOS 이미지를 호스팅합니다.

사전 요구 사항

  • 네트워크에서 RHCOS 이미지 리소스를 호스팅하도록 HTTP 서버를 배포하고 구성합니다. 컴퓨터에서 HTTP 서버와 사용자가 생성한 시스템에서 HTTP 서버에 액세스할 수 있어야 합니다.
중요

RHCOS 이미지는 OpenShift Container Platform 릴리스에 따라 변경되지 않을 수 있습니다. 설치하는 버전과 같거나 그 이하의 버전 중 가장 높은 버전의 이미지를 다운로드해야 합니다. 사용 가능한 경우 OpenShift Container Platform 버전과 일치하는 이미지 버전을 사용합니다. 호스트에 RHCOS를 설치하려면 ISO 및 RootFS 이미지가 필요합니다. 이 설치 유형에서는 RHCOS QCOW2 이미지가 지원되지 않습니다.

절차

  1. 미러 호스트에 로그인합니다.
  2. mirror.openshift.com 에서 RHCOS ISO 및 RootFS 이미지를 가져옵니다. 예를 들면 다음과 같습니다.

    1. 필요한 이미지 이름 및 OpenShift Container Platform 버전을 환경 변수로 내보냅니다.

      $ export ISO_IMAGE_NAME=<iso_image_name> 1
      $ export ROOTFS_IMAGE_NAME=<rootfs_image_name> 1
      $ export OCP_VERSION=<ocp_version> 1
      1
      ISO 이미지 이름(예: rhcos-4.11.1-x86_64-live.x86_64.iso)
      1
      rootfs 이미지 이름(예: rhcos-4.11.1-x86_64-live-rootfs.x86_64.img)
      1
      OpenShift Container Platform 버전(예: 4.11.1)
    2. 필요한 이미지를 다운로드합니다.

      $ sudo wget https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.11/${OCP_VERSION}/${ISO_IMAGE_NAME} -O /var/www/html/${ISO_IMAGE_NAME}
      $ sudo wget https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.11/${OCP_VERSION}/${ROOTFS_IMAGE_NAME} -O /var/www/html/${ROOTFS_IMAGE_NAME}

검증 단계

  • 이미지가 성공적으로 다운로드되었으며 연결이 끊긴 미러 호스트에 제공되는지 확인합니다. 예를 들면 다음과 같습니다.

    $ wget http://$(hostname)/${ISO_IMAGE_NAME}

    출력 예

    Saving to: rhcos-4.11.1-x86_64-live.x86_64.iso
    rhcos-4.11.1-x86_64-live.x86_64.iso-  11%[====>    ]  10.01M  4.71MB/s

22.2.4. hub 클러스터에서 지원 서비스 활성화 및 AgentServiceConfig 업데이트

RHACM(Red Hat Advanced Cluster Management)은 지원 서비스를 사용하여 OpenShift Container Platform 클러스터를 배포합니다. 지원 서비스는 CIM( Central Infrastructure Management)을 사용하여 MultiClusterHub Operator를 활성화하면 자동으로 배포됩니다. hub 클러스터에서 CIM을 활성화하면 미러 레지스트리 HTTP 서버에서 호스팅되는 ISO 및 RootFS 이미지에 대한 참조로 AgentServiceConfig CR(사용자 정의 리소스)을 업데이트해야 합니다.

사전 요구 사항

  • OpenShift CLI(oc)가 설치되어 있습니다.
  • cluster-admin 권한이 있는 사용자로 hub 클러스터에 로그인했습니다.
  • hub 클러스터에서 지원 서비스를 활성화했습니다. 자세한 내용은 CIM 활성화를 참조하십시오.

절차

  1. 다음 명령을 실행하여 AgentServiceConfig CR을 업데이트합니다.

    $ oc edit AgentServiceConfig
  2. CR의 items.spec.osImages 필드에 다음 항목을 추가합니다.

    - cpuArchitecture: x86_64
        openshiftVersion: "4.11"
        rootFSUrl: https://<host>/<path>/rhcos-live-rootfs.x86_64.img
        url: https://<mirror-registry>/<path>/rhcos-live.x86_64.iso

    다음과 같습니다.

    <host>
    대상 미러 레지스트리 HTTP 서버의 FQDN(정규화된 도메인 이름)입니다.
    <path>
    대상 미러 레지스트리의 이미지 경로입니다.

    편집기를 저장하고 종료하여 변경 사항을 적용합니다.

22.2.5. 연결이 끊긴 미러 레지스트리를 사용하도록 hub 클러스터 구성

연결이 끊긴 환경에 연결이 끊긴 미러 레지스트리를 사용하도록 hub 클러스터를 구성할 수 있습니다.

사전 요구 사항

  • RHACM(Red Hat Advanced Cluster Management) 2.6을 설치한 연결이 끊긴 허브 클러스터 설치가 있어야 합니다.
  • HTTP 서버에 rootfsiso 이미지를 호스팅했습니다.
주의

HTTP 서버에 대해 TLS를 활성화하는 경우 루트 인증서가 클라이언트가 신뢰하는 기관에서 서명한지 확인하고 OpenShift Container Platform 허브와 관리형 클러스터와 HTTP 서버 간의 신뢰할 수 있는 인증서 체인을 확인해야 합니다. 신뢰할 수 없는 인증서로 구성된 서버를 사용하면 이미지를 이미지 생성 서비스로 다운로드할 수 없습니다. 신뢰할 수 없는 HTTPS 서버 사용은 지원되지 않습니다.

절차

  1. 미러 레지스트리 구성이 포함된 ConfigMap 을 생성합니다.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: assisted-installer-mirror-config
      namespace: assisted-installer
      labels:
        app: assisted-service
    data:
      ca-bundle.crt: <certificate> 1
      registries.conf: |  2
        unqualified-search-registries = ["registry.access.redhat.com", "docker.io"]
    
        [[registry]]
          location = <mirror_registry_url>  3
          insecure = false
          mirror-by-digest-only = true
    1
    미러 레지스트리를 생성할 때 사용되는 미러 레지스트리의 인증서입니다.
    2
    미러 레지스트리의 구성입니다.
    3
    미러 레지스트리의 URL입니다.

    이 업데이트는 다음과 같이 AgentServiceConfig 사용자 정의 리소스에서 mirrorRegistryRef 를 업데이트합니다.

    출력 예

    apiVersion: agent-install.openshift.io/v1beta1
    kind: AgentServiceConfig
    metadata:
      name: agent
    spec:
      databaseStorage:
        volumeName: <db_pv_name>
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: <db_storage_size>
      filesystemStorage:
        volumeName: <fs_pv_name>
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: <fs_storage_size>
      mirrorRegistryRef:
        name: 'assisted-installer-mirror-config'
      osImages:
        - openshiftVersion: <ocp_version>
          rootfs: <rootfs_url> 1
          url: <iso_url> 2

    1 2
    HTTPD 서버의 URL과 일치해야 합니다.
중요

클러스터 설치 중에 유효한 NTP 서버가 필요합니다. 적절한 NTP 서버를 사용할 수 있으며, 연결이 끊긴 네트워크를 통해 설치된 클러스터에서 연결할 수 있는지 확인합니다.

22.2.6. ArgoCD로 hub 클러스터 구성

Zero touch provisioning (ZTP) GitOps 흐름을 기반으로 각 사이트에 필요한 설치 및 정책 CR(사용자 정의 리소스)을 생성하는 ArgoCD 애플리케이션 세트를 사용하여 hub 클러스터를 구성할 수 있습니다.

사전 요구 사항

  • RHACM(Red Hat Advanced Cluster Management) 및 Red Hat OpenShift GitOps가 설치된 OpenShift Container Platform 허브 클러스터가 있어야 합니다.
  • " GitOps ZTP 사이트 구성 리포지토리 준비" 섹션에 설명된 대로 ZTP GitOps 플러그인 컨테이너에서 참조 배포를 추출했습니다. 참조 배포를 추출하면 다음 절차에서 참조되는 out/argocd/deployment 디렉터리가 생성됩니다.

절차

  1. ArgoCD 파이프라인 구성을 준비합니다.

    1. 예제 디렉터리와 유사한 디렉터리 구조를 사용하여 Git 리포지토리를 생성합니다. 자세한 내용은 " GitOps ZTP 사이트 구성 리포지토리 준비"를 참조하십시오.
    2. ArgoCD UI를 사용하여 리포지토리에 대한 액세스를 구성합니다. 설정에서 다음을 구성합니다.

      • 리포지토리 - 연결 정보를 추가합니다. URL은 .git 로 끝나야 합니다(예: https://repo.example.com/repo.git 및 인증 정보).
      • 인증서 - 필요한 경우 리포지토리의 공용 인증서를 추가합니다.
    3. Git 리포지토리를 기반으로 두 개의 ArgoCD 애플리케이션 out/argocd/deployment/clusters-app.yamlout/argocd/deployment/policies-app.yaml 을 수정합니다.

      • Git 리포지토리를 가리키도록 URL을 업데이트합니다. URL은 .git 로 끝납니다(예: https://repo.example.com/repo.git).
      • targetRevision 은 모니터링할 Git 리포지토리 분기를 나타냅니다.
      • path 는 각각 site Config 및 PolicyGenTemplate CR의 경로를 지정합니다.
  2. ZTP GitOps 플러그인을 설치하려면 이전에 out/argocd/deployment/ 디렉터리에 추출된 패치 파일을 사용하여 hub 클러스터의 ArgoCD 인스턴스를 패치해야 합니다. 다음 명령을 실행합니다.

    $ oc patch argocd openshift-gitops \
    -n openshift-gitops --type=merge \
    --patch-file out/argocd/deployment/argocd-openshift-gitops-patch.json
  3. 다음 명령을 사용하여 허브 클러스터에 파이프라인 구성을 적용합니다.

    $ oc apply -k out/argocd/deployment

22.2.7. GitOps ZTP 사이트 구성 리포지토리 준비

ZTP GitOps 파이프라인을 사용하려면 먼저 사이트 구성 데이터를 호스팅할 Git 리포지토리를 준비해야 합니다.

사전 요구 사항

  • 필요한 설치 및 정책 CR(사용자 정의 리소스)을 생성하기 위해 hub 클러스터 GitOps 애플리케이션을 구성했습니다.
  • ZTP(zero touch provisioning)를 사용하여 관리형 클러스터를 배포했습니다.

절차

  1. site Config 및 PolicyGenTemplate CR에 대한 별도의 경로를 사용하여 디렉터리 구조를 생성합니다.
  2. 다음 명령을 사용하여 ztp-site-generate 컨테이너 이미지에서 argocd 디렉터리를 내보냅니다.

    $ podman pull registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.11
    $ mkdir -p ./out
    $ podman run --log-driver=none --rm registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.11 extract /home/ztp --tar | tar x -C ./out
  3. out 디렉터리에 다음 하위 디렉터리가 포함되어 있는지 확인합니다.

    • 아웃/extra-manifest 에는 SiteConfig 에서 추가 매니페스트 configMap 을 생성하는 데 사용하는 소스 CR 파일이 포함되어 있습니다.
    • out/source-crs 에는 PolicyGenTemplate 이 RHACM(Red Hat Advanced Cluster Management) 정책을 생성하는 데 사용하는 소스 CR 파일이 포함되어 있습니다.
    • out/argocd/deployment 에는 이 프로세스의 다음 단계에서 사용할 수 있도록 hub 클러스터에 적용하는 패치 및 YAML 파일이 포함되어 있습니다.
    • out/argocd/example 에는 권장 구성을 나타내는 SiteConfigPolicyGenTemplate 파일의 예가 포함되어 있습니다.

out/argocd/example 아래의 디렉터리 구조는 Git 리포지토리의 구조 및 콘텐츠에 대한 참조 역할을 합니다. 이 예제에는 단일 노드, 3-노드 및 표준 클러스터에 대한 SiteConfigPolicyGenTemplate 참조 CR이 포함됩니다. 사용하지 않는 클러스터 유형에 대한 참조를 제거합니다. 다음 예제에서는 단일 노드 클러스터 네트워크에 대한 CR 세트를 설명합니다.

example
├── policygentemplates
│   ├── common-ranGen.yaml
│   ├── example-sno-site.yaml
│   ├── group-du-sno-ranGen.yaml
│   ├── group-du-sno-validator-ranGen.yaml
│   ├── kustomization.yaml
│   └── ns.yaml
└── siteconfig
    ├── example-sno.yaml
    ├── KlusterletAddonConfigOverride.yaml
    └── kustomization.yaml

SiteConfigPolicyGenTemplate CR을 별도의 디렉터리에 보관합니다. SiteConfigPolicyGenTemplate 디렉터리에는 해당 디렉터리에 파일을 명시적으로 포함하는 kustomization.yaml 파일이 포함되어야 합니다.

이 디렉터리 구조와 kustomization.yaml 파일을 커밋하고 Git 리포지토리로 내보내야 합니다. Git의 초기 푸시에는 kustomization.yaml 파일이 포함되어야 합니다. SiteConfig (예-sno.yaml) 및 PolicyGenTemplate (Common-ranGen.yaml,group-du -sno*.yaml.yaml )은 사이트를 배포할 때 필요에 따라 나중에 생략하고 내보낼 수 있습니다.

KlusterletAddonConfigOverride.yaml 파일은 하나 이상의 SiteConfig CR을 커밋하고 Git로 푸시하는 경우에만 필요합니다. 사용 방법의 예는 example-sno.yaml 을 참조하십시오.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.