4장. OpenShift Container Platform 클러스터에서 다중 아키텍처 컴퓨팅 시스템 구성

다중 아키텍처 컴퓨팅 머신이 있는 OpenShift Container Platform 클러스터는 아키텍처가 다른 컴퓨팅 머신을 지원하는 클러스터입니다. 다중 아키텍처 설치 프로그램 바이너리를 사용하여 Azure 설치 관리자 프로비저닝 클러스터를 생성하여 다중 아키텍처 컴퓨팅 머신으로 클러스터를 배포할 수 있습니다. Azure 설치의 경우 사용자 지정으로 Azure에 클러스터 설치를 참조하십시오.

주의

다중 아키텍처 컴퓨팅 머신 기술 프리뷰 기능은 페이로드 설치, 업그레이드 및 실행 시 사용성이 제한됩니다.

다음 절차에서는 ARM64 부팅 이미지를 생성하고 ARM64 부팅 이미지를 사용하여 Azure 컴퓨팅 머신 세트를 생성하는 방법을 설명합니다. 그러면 ARM64 컴퓨팅 노드가 클러스터에 추가되고 원하는 양의 ARM64 VM(가상 머신)이 배포됩니다. 이 섹션에서는 다중 아키텍처 컴퓨팅 시스템을 지원하는 클러스터로 기존 클러스터를 업그레이드하는 방법도 보여줍니다. 다중 아키텍처 컴퓨팅 머신이 있는 클러스터는 x86_64 컨트롤 플레인 머신이 있는 Azure 설치 관리자 프로비저닝 인프라에서만 사용할 수 있습니다.

중요

Azure 설치 관리자 프로비저닝 인프라 설치에 다중 아키텍처 컴퓨팅 머신이 있는 OpenShift Container Platform 클러스터는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

4.1. Azure 이미지 개요를 사용하여 ARM64 부팅 이미지 생성

다중 아키텍처 컴퓨팅 머신을 사용하여 클러스터를 구성하려면 ARM64 부팅 이미지를 생성하여 Azure 컴퓨팅 머신 세트에 추가해야 합니다. 다음 절차에서는 ARM64 부팅 이미지를 수동으로 생성하는 방법을 설명합니다.

사전 요구 사항

  • Azure CLI (az)를 설치했습니다.
  • 다중 아키텍처 설치 프로그램 바이너리를 사용하여 단일 아키텍처 Azure 설치 관리자 프로비저닝 클러스터를 생성하셨습니다.

절차

  1. Azure 계정에 로그인합니다.

    $ az login
  2. 스토리지 계정을 생성하고 ARM64 VHD(가상 하드 디스크)를 스토리지 계정에 업로드합니다. OpenShift Container Platform 설치 프로그램은 리소스 그룹을 생성하지만 부트 이미지를 사용자 정의 리소스 그룹에 업로드할 수도 있습니다.

    $ az storage account create -n ${STORAGE_ACCOUNT_NAME} -g ${RESOURCE_GROUP} -l westus --sku Standard_LRS 1
    1
    westus 오브젝트는 예제 리전입니다.
  3. 생성한 스토리지 계정을 사용하여 스토리지 컨테이너를 생성합니다.

    $ az storage container create -n ${CONTAINER_NAME} --account-name ${STORAGE_ACCOUNT_NAME}
  4. OpenShift Container Platform 설치 프로그램 JSON 파일을 사용하여 URL 및 aarch64 VHD 이름을 추출해야 합니다.

    1. URL 필드를 추출하여 다음 명령을 실행하여 RHCOS_VHD_ORIGIN_URL 을 파일 이름으로 설정합니다.

      $ RHCOS_VHD_ORIGIN_URL=$(oc -n openshift-machine-config-operator get configmap/coreos-bootimages -o jsonpath='{.data.stream}' | jq -r '.architectures.aarch64."rhel-coreos-extensions"."azure-disk".url')
    2. aarch64 VHD 이름을 추출하고 다음 명령을 실행하여 파일 이름으로 BLOB_NAME 으로 설정합니다.

      $ BLOB_NAME=rhcos-$(oc -n openshift-machine-config-operator get configmap/coreos-bootimages -o jsonpath='{.data.stream}' | jq -r '.architectures.aarch64."rhel-coreos-extensions"."azure-disk".release')-azure.aarch64.vhd
  5. 공유 액세스 서명(SAS) 토큰을 생성합니다. 이 토큰을 사용하여 다음 명령으로 RHCOS VHD를 스토리지 컨테이너에 업로드합니다.

    $ end=`date -u -d "30 minutes" '+%Y-%m-%dT%H:%MZ'`
    $ sas=`az storage container generate-sas -n ${CONTAINER_NAME} --account-name ${STORAGE_ACCOUNT_NAME} --https-only --permissions dlrw --expiry $end -o tsv`
  6. RHCOS VHD를 스토리지 컨테이너에 복사합니다.

    $ az storage blob copy start --account-name ${STORAGE_ACCOUNT_NAME} --sas-token "$sas" \
     --source-uri "${RHCOS_VHD_ORIGIN_URL}" \
     --destination-blob "${BLOB_NAME}" --destination-container ${CONTAINER_NAME}

    다음 명령을 사용하여 복사 프로세스의 상태를 확인할 수 있습니다.

    $ az storage blob show -c ${CONTAINER_NAME} -n ${BLOB_NAME} --account-name ${STORAGE_ACCOUNT_NAME} | jq .properties.copy

    출력 예

    {
     "completionTime": null,
     "destinationSnapshot": null,
     "id": "1fd97630-03ca-489a-8c4e-cfe839c9627d",
     "incrementalCopy": null,
     "progress": "17179869696/17179869696",
     "source": "https://rhcos.blob.core.windows.net/imagebucket/rhcos-411.86.202207130959-0-azure.aarch64.vhd",
     "status": "success", 1
     "statusDescription": null
    }

    1
    status 매개변수가 success 오브젝트를 표시하는 경우 복사 프로세스가 완료됩니다.
  7. 다음 명령을 사용하여 이미지 갤러리를 만듭니다.

    $ az sig create --resource-group ${RESOURCE_GROUP} --gallery-name ${GALLERY_NAME}

    이미지 갤러리를 사용하여 이미지 정의를 만듭니다. 다음 예제 명령에서 rhcos-arm64 는 이미지 정의의 이름입니다.

    $ az sig image-definition create --resource-group ${RESOURCE_GROUP} --gallery-name ${GALLERY_NAME} --gallery-image-definition rhcos-arm64 --publisher RedHat --offer arm --sku arm64 --os-type linux --architecture Arm64 --hyper-v-generation V2
  8. VHD의 URL을 가져와서 파일 이름으로 RHCOS_VHD_URL 로 설정하려면 다음 명령을 실행합니다.

    $ RHCOS_VHD_URL=$(az storage blob url --account-name ${STORAGE_ACCOUNT_NAME} -c ${CONTAINER_NAME} -n "${BLOB_NAME}" -o tsv)
  9. RHCOS_VHD_URL 파일, 스토리지 계정, 리소스 그룹 및 이미지 갤러리를 사용하여 이미지 버전을 생성합니다. 다음 예에서 1.0.0 은 이미지 버전입니다.

    $ az sig image-version create --resource-group ${RESOURCE_GROUP} --gallery-name ${GALLERY_NAME} --gallery-image-definition rhcos-arm64 --gallery-image-version 1.0.0 --os-vhd-storage-account ${STORAGE_ACCOUNT_NAME} --os-vhd-uri ${RHCOS_VHD_URL}
  10. 이제 ARM64 부팅 이미지가 생성됩니다. 다음 명령을 사용하여 이미지 ID에 액세스할 수 있습니다.

    $ az sig image-version show -r $GALLERY_NAME -g $RESOURCE_GROUP -i rhcos-arm64 -e 1.0.0

    다음 예제 이미지 ID는 컴퓨팅 머신 세트의 reECDHE ID 매개변수에 사용됩니다.

    resourceID의 예

    /resourceGroups/${RESOURCE_GROUP}/providers/Microsoft.Compute/galleries/${GALLERY_NAME}/images/rhcos-arm64/versions/1.0.0