1.3. 이미지 릴리스

Kubernetes용 Red Hat Advanced Cluster Management를 사용하여 공급자에 클러스터를 생성할 때 새 클러스터에 사용할 릴리스 이미지를 지정해야 합니다. 릴리스 이미지는 클러스터를 빌드하는 데 사용되는 Red Hat OpenShift Container Platform 버전을 지정합니다.

릴리스 이미지를 참조하는 파일은 acm-hive-openshift-releases GitHub 리포지토리에서 유지 관리되는 YAML 파일입니다. Red Hat Advanced Cluster Management는 해당 파일을 사용하여 콘솔에서 사용 가능한 릴리스 이미지 목록을 생성합니다. 여기에는 OpenShift Container Platform의 최신 빠른 채널 이미지가 포함됩니다. 콘솔은 최신 OpenShift Container Platform의 최신 버전용 최신 릴리스 이미지만 표시합니다. 예를 들어 콘솔 옵션에 다음 릴리스 이미지가 표시될 수 있습니다.

  • quay.io/openshift-release-dev/ocp-release:4.6.23-x86_64
  • quay.io/openshift-release-dev/ocp-release:4.10.1-x86_64

참고: console에서 클러스터를 생성할 때: visible: 'true' 레이블이 있는 이미지만 선택할 수 있습니다. ClusterImageSet 리소스의 이 레이블 예는 다음 콘텐츠에서 제공됩니다.

apiVersion: config.openshift.io/v1
kind: ClusterImageSet
metadata:
  labels:
    channel: fast
    visible: 'true'
  name: img4.10.1-x86-64-appsub
spec:
  releaseImage: quay.io/openshift-release-dev/ocp-release:4.10.1-x86_64

추가 릴리스 이미지가 저장되지만 콘솔에는 표시되지 않습니다. 사용 가능한 릴리스 이미지를 모두 보려면 CLI에서 kubectl get clusterimageset 를 실행합니다. 최신 릴리스 이미지로 클러스터를 생성하도록 최신 버전만 콘솔에 있습니다. 경우에 따라 특정 버전인 클러스터를 생성해야 할 수도 있습니다. 따라서 이전 버전을 사용할 수 있습니다. Red Hat Advanced Cluster Management는 해당 파일을 사용하여 콘솔에서 사용 가능한 릴리스 이미지 목록을 생성합니다. 여기에는 OpenShift Container Platform의 최신 빠른 채널 이미지가 포함됩니다.

리포지토리에는 릴리스 이미지로 작업할 때 사용하는 디렉터리인 clusterImageSets 디렉터리와 서브스크립션 디렉터리가 포함되어 있습니다.

clusterImageSets 디렉터리에는 다음 디렉터리가 포함되어 있습니다.

  • fast: 지원되는 각 OpenShift Container Platform 버전의 최신 릴리스 이미지를 참조하는 파일이 포함되어 있습니다. 이 폴더의 릴리스 이미지는 테스트, 확인 및 지원됩니다.
  • 릴리스: 각 OpenShift Container Platform 버전(테이블, 빠른, 후보 채널)의 모든 릴리스 이미지를 참조하는 파일이 포함되어 있습니다. 이러한 릴리스는 모두 테스트되고 안정적인 것으로 확인되지 않았습니다.
  • stable: 지원되는 각 OpenShift Container Platform 버전에 대한 릴리스 이미지의 최신 두 가지 안정적인 버전을 참조하는 파일이 포함되어 있습니다.

참고: 기본적으로 현재 릴리스 이미지 목록은 한 시간씩 업데이트됩니다. 제품을 업그레이드한 후 새 버전의 제품에 권장되는 릴리스 이미지 버전을 반영하는 데 최대 1시간이 걸릴 수 있습니다.

다음과 같은 세 가지 방법으로 자체 ClusterImageSets 를 큐레이션할 수 있습니다.

세 가지 방법 중 첫 번째 단계는 포함된 서브스크립션을 비활성화하여 최신 빠른 채널 이미지를 자동으로 업데이트하는 것입니다. multiclusterhub 리소스에서 installer 매개변수를 사용하여 최신 fast ClusterImageSets 의 자동 큐레이션을 비활성화할 수 있습니다. spec.disableUpdateClusterImageSets 매개변수를 truefalse 로 전환하면 Red Hat Advanced Cluster Management와 함께 설치된 서브스크립션이 각각 비활성화 또는 활성화됩니다. 자체 이미지를 큐레이팅하려면 spec.disableUpdateClusterImageSetstrue 로 설정하여 서브스크립션을 비활성화합니다.

옵션 1: 클러스터를 생성할 때 콘솔에서 사용할 특정 ClusterImageSet 의 이미지 참조를 지정합니다. 지정한 각 새 항목은 persists이며 향후 모든 클러스터 프로비저닝에 사용할 수 있습니다. 항목의 예는 quay.io/openshift-release-dev/ocp-release:4.6.8-x86_64 입니다.

옵션 2: acm-hive-openshift-releases GitHub 리포지토리에서 ClusterImageSets YAML 파일을 수동으로 생성하고 적용합니다.

옵션 3: acm-hive-openshift-releases GitHub 리포지토리의 README.md 를 따라 분기된 GitHub 리포지토리에서 ClusterImageSets 자동 업데이트를 활성화합니다.

Subscription 디렉터리에는 릴리스 이미지 목록을 가져올 위치를 지정하는 파일이 포함되어 있습니다.

Red Hat Advanced Cluster Management의 기본 릴리스 이미지는 Quay.io 디렉터리에 제공됩니다.

이미지는 릴리스 2.5의 acm-hive-openshift-releases GitHub 리포지토리에 있는 파일에서 참조합니다.

1.3.1. 다른 아키텍처에 클러스터를 배포할 릴리스 이미지 생성

두 아키텍처의 파일이 포함된 릴리스 이미지를 수동으로 생성하여 허브 클러스터의 아키텍처와 다른 아키텍처에 클러스터를 생성할 수 있습니다.

예를 들어 ppc64le,aarch64 또는 s390x 아키텍처에서 실행 중인 허브 클러스터에서 x86_64 클러스터를 생성해야 할 수 있습니다. 새 릴리스 이미지를 사용하면 OpenShift Container Platform 릴리스 레지스트리에서 다중 아키텍처 이미지 매니페스트를 제공할 수 있으므로 두 파일 세트로 릴리스 이미지를 생성하면 클러스터 생성에 성공합니다.

릴리스 이미지를 생성하려면 아키텍처 유형에 대한 다음 예제와 유사한 단계를 완료합니다.

  1. OpenShift Container Platform 릴리스 레지스트리에서 x86_64,s390x,aarch64ppc64le 릴리스 이미지가 포함된 매니페스트 목록을 생성합니다.

    1. 다음 예제 명령을 사용하여 Quay 리포지토리에서 해당 환경의 두 아키텍처에 대한 매니페스트 목록을 가져옵니다.

      podman pull quay.io/openshift-release-dev/ocp-release:4.10.1-x86_64
      podman pull quay.io/openshift-release-dev/ocp-release:4.10.1-ppc64le
      podman pull quay.io/openshift-release-dev/ocp-release:4.10.1-s390x
      podman pull quay.io/openshift-release-dev/ocp-release:4.10.1-aarch64
    2. 이미지를 유지보수하는 프라이빗 리포지토리에 로그인합니다.

      podman login <private-repo>

      private-repo 를 리포지토리 경로로 바꿉니다.

    3. 환경에 적용되는 다음 명령을 실행하여 프라이빗 리포지토리에 릴리스 이미지 매니페스트를 추가합니다.

      podman push quay.io/openshift-release-dev/ocp-release:4.10.1-x86_64 <private-repo>/ocp-release:4.10.1-x86_64
      podman push quay.io/openshift-release-dev/ocp-release:4.10.1-ppc64le <private-repo>/ocp-release:4.10.1-ppc64le
      podman push quay.io/openshift-release-dev/ocp-release:4.10.1-s390x <private-repo>/ocp-release:4.10.1-s390x
      podman push quay.io/openshift-release-dev/ocp-release:4.10.1-aarch64 <private-repo>/ocp-release:4.10.1-aarch64

      private-repo 를 리포지토리 경로로 바꿉니다.

    4. 새 정보에 대한 매니페스트를 생성합니다.

      podman manifest create mymanifest
    5. 두 릴리스 이미지에 대한 참조를 매니페스트 목록에 추가합니다.

      podman manifest add mymanifest <private-repo>/ocp-release:4.10.1-x86_64
      podman manifest add mymanifest <private-repo>/ocp-release:4.10.1-ppc64le
      podman manifest add mymanifest <private-repo>/ocp-release:4.10.1-s390x
      podman manifest add mymanifest <private-repo>/ocp-release:4.10.1-aarch64

      private-repo 를 리포지토리 경로로 바꿉니다.

    6. 매니페스트 목록의 목록을 기존 매니페스트와 병합합니다.

      podman manifest push mymanifest docker://<private-repo>/ocp-release:4.10.1

      private-repo 를 리포지토리 경로로 바꿉니다.

  2. hub 클러스터에서 리포지터리의 매니페스트를 참조하는 릴리스 이미지를 만듭니다.

    1. 다음 예와 유사한 정보가 포함된 YAML 파일을 생성합니다.

      apiVersion: hive.openshift.io/v1
      kind: ClusterImageSet
      metadata:
        labels:
          channel: fast
          visible: "true"
        name: img4.10.1-appsub
      spec:
        releaseImage: <private-repo>/ocp-release:4.10.1

      private-repo 를 리포지토리 경로로 바꿉니다.

    2. hub 클러스터에서 다음 명령을 실행하여 변경 사항을 적용합니다.

      oc apply -f <file-name>.yaml

      file-name 을 방금 생성한 YAML 파일의 이름으로 바꿉니다.

  3. OpenShift Container Platform 클러스터를 생성할 때 새 릴리스 이미지를 선택합니다.
  4. Red Hat Advanced Cluster Management 콘솔을 사용하여 관리형 클러스터를 배포하는 경우 클러스터 생성 프로세스 중 아키텍처 필드에서 관리 클러스터의 아키텍처를 지정합니다.

생성 프로세스에서는 병합된 릴리스 이미지를 사용하여 클러스터를 생성합니다.

1.3.2. 사용 가능한 릴리스 이미지 동기화

릴리스 이미지가 자주 업데이트되므로 릴리스 이미지 목록을 동기화하여 사용 가능한 최신 버전을 선택할 수 있습니다. 릴리스 이미지는 릴리스 2.5용 acm-hive-openshift-releases GitHub 리포지토리에서 사용할 수 있습니다.

릴리스 이미지의 안정성에는 세 가지 수준이 있습니다.

표 1.1. 릴리스 이미지의 안정성 수준

카테고리

설명

stable

클러스터 설치 및 빌드가 올바르게 확인되는 완전히 테스트된 이미지입니다.

신속 (Fast)

부분적으로 테스트되었지만 안정된 버전보다 안정적이지 않을 수 있습니다.

candidate

아직 테스트되지 않았지만 가장 최신 이미지입니다. 버그가 있을 수 있습니다.

다음 단계를 완료하여 목록을 새로 고칩니다.

  1. 설치 관리자 관리 acm-hive-openshift-releases 서브스크립션이 활성화된 경우 multiclusterhub 리소스에서 disableUpdateClusterImageSets 값을 true 로 설정하여 서브스크립션을 비활성화합니다.
  2. 릴리스 2.5에 대해 acm-hive-openshift-releases GitHub 리포지토리를 복제합니다.
  3. 다음 명령과 유사한 명령을 입력하여 서브스크립션을 제거합니다.

    oc delete -f subscribe/subscription-fast
  4. 안정적인 릴리스 이미지에 연결하고 다음 명령을 입력하여 Kubernetes 허브 클러스터용 Red Hat Advanced Cluster Management 클러스터를 동기화합니다.

    make subscribe-stable

    참고: Linux 또는 MacOS 운영 체제를 사용하는 경우에만 이 make 명령을 실행할 수 있습니다.

    약 1분 후에 안정적인 릴리스 이미지의 최신 목록을 사용할 수 있습니다.

    • 빠른 릴리스 이미지를 동기화하고 표시하려면 다음 명령을 입력합니다.

      make subscribe-fast

      참고: Linux 또는 MacOS 운영 체제를 사용하는 경우에만 이 make 명령을 실행할 수 있습니다.

      명령을 실행한 후 약 1분 후에 사용 가능한 안정적인 빠른 릴리스 이미지 목록이 현재 사용 가능한 이미지로 업데이트됩니다.

    • 후보 릴리스 이미지를 동기화하고 표시하려면 다음 명령을 입력합니다.

      make subscribe-candidate

      참고: Linux 또는 MacOS 운영 체제를 사용하는 경우에만 이 make 명령을 실행할 수 있습니다.

      명령을 실행한 후 약 1분 후 사용 가능한 안정적인,fastcandidate 릴리스 이미지 목록이 현재 사용 가능한 이미지로 업데이트됩니다.

  5. 클러스터를 생성할 때 Red Hat Advanced Cluster Management 콘솔에서 현재 사용 가능한 릴리스 이미지 목록을 확인합니다.
  6. 다음 형식으로 명령을 입력하여 이러한 채널에서 업데이트 보기를 취소하여 업데이트 보기를 중지할 수 있습니다.

    oc delete -f subscribe/subscription-fast

1.3.3. 연결된 경우 릴리스 이미지의 사용자 정의 목록 유지

모든 클러스터에 동일한 릴리스 이미지를 사용하도록 할 수 있습니다. 단순화하기 위해 클러스터를 생성할 때 사용할 수 있는 자체 사용자 정의 릴리스 이미지 목록을 생성할 수 있습니다. 사용 가능한 릴리스 이미지를 관리하려면 다음 단계를 완료합니다.

  1. 설치 관리자 관리 acm-hive-openshift-releases 서브스크립션이 활성화된 경우 multiclusterhub 리소스에서 disableUpdateClusterImageSets 값을 true 로 설정하여 비활성화합니다.
  2. acm-hive-openshift-releases GitHub 리포지토리 2.5 브랜치 를 분기합니다.
  3. stolostron 대신 분기된 리포지토리의 GitHub 이름에 액세스하도록 spec: pathname 을 변경하여 ./subscribe/channel.yaml 파일을 업데이트합니다. 이 단계에서는 hub 클러스터가 릴리스 이미지를 검색하는 위치를 지정합니다. 업데이트된 콘텐츠는 다음 예와 유사해야 합니다.

    spec:
      type: Git
      pathname: https://github.com/<forked_content>/acm-hive-openshift-releases.git

    forked_content 를 분기된 리포지토리의 경로로 바꿉니다.

  4. Kubernetes 콘솔을 사용하여 클러스터를 생성할 때 사용할 수 있는 이미지의 YAML 파일을 ./clusterImageSets/stable/* 또는 ./clusterImageSets/fast/* 디렉터리에 추가합니다.

    팁: 분기된 리포지토리에 변경 사항을 병합하여 기본 리포지토리에서 사용 가능한 YAML 파일을 검색할 수 있습니다.

  5. 분기된 리포지토리에 변경 사항을 커밋하고 병합합니다.
  6. acm-hive-openshift-releases 리포지토리를 복제한 후 빠른 릴리스 이미지 목록을 동기화하려면 다음 명령을 입력하여 빠른 이미지를 업데이트합니다.

    make subscribe-fast

    참고: Linux 또는 MacOS 운영 체제를 사용하는 경우에만 이 make 명령을 실행할 수 있습니다.

    이 명령을 실행하면 사용 가능한 빠른 릴리스 이미지 목록이 현재 사용 가능한 이미지로 약 1분 후에 업데이트됩니다.

  7. 기본적으로 빠른 이미지만 나열됩니다. 안정적인 릴리스 이미지를 동기화하고 표시하려면 다음 명령을 입력합니다.

    make subscribe-stable

    참고: Linux 또는 MacOS 운영 체제를 사용하는 경우에만 이 make 명령을 실행할 수 있습니다.

    이 명령을 실행하면 약 1분 후에 현재 사용 가능한 이미지와 함께 사용 가능한 안정적인 릴리스 이미지 목록이 업데이트됩니다.

  8. 기본적으로 Red Hat Advanced Cluster Management는 몇 가지 ClusterImageSets를 사전 로드합니다. 다음 명령을 사용하여 사용 가능한 항목을 나열하고 기본값을 제거할 수 있습니다.

    oc get clusterImageSets
    oc delete clusterImageSet <clusterImageSet_NAME>

    참고: 다중 클러스터hub 리소스에서 disableUpdate ClusterImageSets 값을 true 로 설정하여 설치 관리자 관리 자동 업데이트를 비활성화하지 않은 경우 삭제한 모든 이미지가 자동으로 다시 생성됩니다.

  9. 클러스터를 생성할 때 Red Hat Advanced Cluster Management 콘솔에서 현재 사용 가능한 릴리스 이미지 목록을 확인합니다.

1.3.4. 연결이 끊긴 동안 사용자 정의 릴리스 이미지 목록 유지

허브 클러스터에 인터넷 연결이 없는 경우 릴리스 이미지의 사용자 정의 목록을 유지 관리해야 하는 경우도 있습니다. 클러스터를 생성할 때 사용 가능한 릴리스 이미지의 자체 사용자 정의 목록을 생성할 수 있습니다. 연결이 끊긴 동안 사용 가능한 릴리스 이미지를 관리하려면 다음 단계를 완료합니다.

  1. 연결된 시스템에 있는 동안 acm-hive-openshift-releases GitHub 리포지토리로 이동하여 버전 2.5에 사용할 수 있는 클러스터 이미지 세트에 액세스합니다.
  2. Kubernetes 허브 클러스터의 연결이 끊긴 Red Hat Advanced Cluster Management에 액세스할 수 있는 시스템에 clusterImageSets 디렉터리를 복사합니다.
  3. 관리형 클러스터에 적합한 다음 단계를 완료하여 관리 대상 클러스터와 연결이 끊긴 리포지토리와 클러스터 이미지 세트 간의 매핑을 추가합니다.

  4. clusterImageSet YAML 콘텐츠를 수동으로 추가하여 Red Hat Advanced Cluster Management 콘솔을 사용하여 클러스터를 생성할 때 사용 가능한 이미지의 YAML 파일을 추가합니다.
  5. 나머지 OpenShift Container Platform 릴리스 이미지의 clusterImageSet YAML 파일을 수정하여 이미지를 저장하는 올바른 오프라인 리포지토리를 참조합니다. 업데이트는 다음 예와 유사해야 합니다.

    apiVersion: hive.openshift.io/v1
    kind: ClusterImageSet
    metadata:
        name: img4.4.0-rc.6-x86-64
    spec:
        releaseImage: IMAGE_REGISTRY_IPADDRESS_or_DNSNAME/REPO_PATH/ocp-release:4.4.0-rc.6-x86_64

    이미지가 YAML 파일에서 참조되는 오프라인 이미지 레지스트리에 로드되었는지 확인합니다.

  6. 각 YAML 파일에 대해 다음 명령을 입력하여 각 clusterImageSets 를 생성합니다.

    oc create -f <clusterImageSet_FILE>

    clusterImageSet_FILE 을 클러스터 이미지 세트 파일의 이름으로 교체합니다. 예를 들면 다음과 같습니다.

    oc create -f img4.9.9-x86_64.yaml

    추가할 각 리소스에 대해 이 명령을 실행하면 사용 가능한 릴리스 이미지 목록이 제공됩니다.

  7. 또는 Red Hat Advanced Cluster Management의 create 클러스터 콘솔에 이미지 URL을 직접 붙여넣을 수 있습니다. 이미지 URL을 추가하면 새 clusterImageSets가 생성되지 않는 경우 생성됩니다.
  8. 클러스터를 생성할 때 Red Hat Advanced Cluster Management 콘솔에서 현재 사용 가능한 릴리스 이미지 목록을 확인합니다.