다음을 통해 공유


CLI를 사용하여 직접 연결된 Azure Arc 데이터 컨트롤러 업그레이드

이 문서에서는 Azure CLI(az)를 사용하여 직접 연결된 Azure Arc 지원 데이터 컨트롤러를 업그레이드하는 방법을 설명합니다.

데이터 컨트롤러를 업그레이드하는 동안 CRD(사용자 지정 리소스 정의) 및 컨테이너와 같은 데이터 컨트롤 플레인의 일부가 업그레이드될 수 있습니다. 데이터 컨트롤러를 업그레이드해도 데이터 서비스(SQL Managed Instance 또는 PostgreSQL 서버)에 가동 중지 시간이 발생하지 않습니다.

필수 조건

imageTag v1.0.0_2021-07-30 이상이 있는 직접 연결된 데이터 컨트롤러가 필요합니다.

버전을 확인하려면 다음을 실행합니다.

kubectl get datacontrollers -n <namespace> -o custom-columns=BUILD:.spec.docker.imageTag

도구 설치

이 문서의 작업을 진행하려면 다음을 설치해야 합니다.

이 문서의 예제에서는 꺾쇠 괄호(< ... >)를 사용하여 스크립트를 실행하기 전에 바꿔야 하는 값을 식별합니다. 대괄호와 대괄호 안의 값을 바꿉니다.

arcdata 확장 버전과 이미지 버전은 관련되어 있습니다. 버전 로그에서 업그레이드하려는 이미지 버전에 해당하는, 올바른 arcdata 확장 버전이 있는지 확인합니다.

사용 가능한 이미지 보기 및 버전 선택

다음 명령을 사용하여 데이터 컨트롤러에 사용할 수 있는 이미지 목록을 가져옵니다.

az arcdata dc list-upgrades --k8s-namespace <namespace> 

위의 명령은 다음 예제와 같은 출력을 반환합니다.

Found 2 valid versions.  The current datacontroller version is v1.0.0_2021-07-30.
v1.1.0_2021-11-02
v1.0.0_2021-07-30

데이터 컨트롤러 업그레이드

이 섹션에서는 직접 연결된 데이터 컨트롤러를 업그레이드하는 방법을 보여줍니다.

참고 항목

일부 데이터 서비스 계층 및 모드는 일반 공급 상태이며 일부는 미리 보기로 제공됩니다. 동일한 데이터 컨트롤러에서 GA 및 미리 보기 서비스를 설치하는 경우 현재 위치에서 업그레이드할 수 없습니다. 업그레이드하려면 GA가 아닌 모든 데이터베이스 인스턴스를 삭제합니다. 릴리스 정보에서 일반 공급 및 미리 보기 서비스 목록을 찾을 수 있습니다.

지원되는 업그레이드 경로는 Azure Arc 지원 데이터 서비스 업그레이드를 참조하세요.

인증

Azure Arc 데이터 컨트롤러 업그레이드를 시작하기 전에 Kubernetes 클러스터에 연결하여 인증하고 기존 Kubernetes 컨텍스트를 선택해야 합니다.

kubectl config use-context <Kubernetes cluster name>

데이터 컨트롤러 업그레이드

먼저 시험 실행을 수행할 수 있습니다. 시험 실행은 레지스트리 유무, 버전 스키마 및 프라이빗 리포지토리 권한 부여 토큰(사용되는 경우)의 유효성을 검사합니다. 시험 실행을 수행하려면 az arcdata dc upgrade 명령에서 --dry-run 매개 변수를 사용합니다. 예시:

az arcdata dc upgrade --resource-group <resource group> --name <data controller name> --desired-version <version> --dry-run [--no-wait]

이전 명령의 출력은 다음과 같습니다.

Preparing to upgrade dc arcdc in namespace arc to version <version-tag>.
****Dry Run****
Arcdata Control Plane would be upgraded to: <version-tag>

Arc 데이터 컨트롤러 확장이 업그레이드된 후 --desired-version으로 이미지 태그를 지정하여 az arcdata dc upgrade 명령을 실행합니다.

az arcdata dc upgrade --resource-group <resource group> --name <data controller name> --desired-version <version> [--no-wait]

예시:

az arcdata dc upgrade --resource-group rg-arcds --name dc01 --desired-version v1.7.0_2022-05-24 [--no-wait]

업그레이드 상태 모니터링

CLI를 사용하여 업그레이드의 진행률을 모니터링할 수 있습니다.

CLI

 az arcdata dc status show --resource-group <resource group>

업그레이드는 두 부분으로 구성된 프로세스입니다. 먼저 컨트롤러가 업그레이드된 다음 모니터링 스택이 업그레이드됩니다. 업그레이드가 완료되면 출력은 다음과 같습니다.

Ready

문제 해결

원하는 버전이 특정 버전으로 설정되면 부트스트래퍼 작업은 성공할 때까지 해당 버전으로 업그레이드를 시도합니다. 업그레이드에 성공하면 사양의 RunningVersion 속성이 새 버전으로 업데이트됩니다. 잘못된 이미지 태그, 레지스트리 또는 리포지토리에 연결할 수 없음, 컨테이너에 할당된 CPU 또는 메모리 부족 또는 스토리지 부족과 같은 시나리오의 경우 업그레이드가 실패할 수 있습니다.

  1. 아래 명령을 실행하여 Pod가 Error 상태를 표시하거나 다시 시작 횟수가 많은지 확인합니다.

    kubectl get pods --namespace <namespace>
    
  2. 오류가 있는지 확인하기 위해 이벤트를 보려면 다음을 실행합니다.

    kubectl describe pod <pod name> --namespace <namespace>
    
  3. Pod의 컨테이너 목록을 가져오려면 다음을 실행합니다.

    kubectl get pods <pod name> --namespace <namespace> -o jsonpath='{.spec.containers[*].name}*'
    
  4. 컨테이너에 대한 로그를 가져오려면 다음을 실행합니다.

    kubectl logs <pod name> <container name> --namespace <namespace>
    

일반적인 오류와 문제 해결 방법을 보려면 문제 해결 리소스로 이동합니다.