다음을 통해 공유


자습서: 노드를 Azure Linux로 마이그레이션

이 자습서(5부 중 3부)에서는 기존 노드를 Azure Linux로 마이그레이션합니다. 다음 방법 중 하나를 사용하여 기존 노드를 Azure Linux로 마이그레이션할 수 있습니다.

  • 기존 노드 풀을 제거하고 새 Azure Linux 노드 풀을 추가합니다.
  • 현재 위치 OS SKU 마이그레이션.

Azure Linux로 마이그레이션할 기존 노드가 없는 경우 다음 자습서로 건너뜁니다. 이후 자습서에서는 클러스터에서 원격 분석 및 모니터링을 사용하도록 설정하고 Azure Linux 노드를 업그레이드하는 방법을 알아봅니다.

필수 조건

  • 이전 자습서에서는 AKS 클러스터용 Azure Linux 컨테이너 호스트를 만들고 배포했습니다. 이 자습서를 완료하려면 기존 클러스터에 Azure Linux 노드 풀을 추가해야 합니다. 이 단계를 수행하지 않고 계속 진행하려면 자습서 2: 기존 AKS 클러스터에 Azure Linux 노드 풀 추가부터 시작하세요.

    참고 항목

    새 Azure Linux 노드 풀을 추가할 때 --mode System으로 하나 이상 추가해야 합니다. 추가하지 않으면 AKS에서 기존 노드 풀을 삭제할 수 없습니다.

  • 최신 버전의 Azure CLI가 필요합니다. az --version을 실행하여 버전을 찾습니다. 설치 또는 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.

Azure Linux 노드 풀 추가 및 기존 노드 풀 제거

  1. az aks nodepool add 명령을 사용하여 새 Azure Linux 노드 풀을 추가합니다. 이 명령은 --mode System 플래그를 사용하여 클러스터에 새 노드 풀을 추가하여 시스템 노드 풀로 만듭니다. Azure Linux 클러스터에는 시스템 노드 풀이 필요합니다.

    az aks nodepool add --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name> --mode System --os-sku AzureLinux
    
  2. az aks nodepool delete 명령을 사용하여 기존 노드를 제거합니다.

    az aks nodepool delete --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name>
    

현재 위치 OS SKU 마이그레이션

이제 표준 노드 이미지 업그레이드 프로세스를 통해 클러스터를 롤링하는 노드 풀의 OS SKU를 변경하여 기존 Ubuntu 노드 풀을 Azure Linux로 마이그레이션할 수 있습니다. 이 새로운 기능은 새 노드 풀을 만들 필요가 없습니다.

제한 사항

OS SKU 마이그레이션 요청을 차단할 수 있는 몇 가지 설정이 있습니다. 성공적인 마이그레이션을 보장하려면 다음 지침 및 제한 사항을 검토합니다.

  • OS SKU 마이그레이션 기능은 PowerShell 또는 Azure Portal을 통해 사용할 수 없습니다.
  • OS SKU 마이그레이션 기능은 기존 노드 풀의 이름을 바꿀 수 없습니다.
  • Ubuntu 및 Azure Linux는 유일하게 지원되는 Linux OS SKU 마이그레이션 대상입니다.
  • UseGPUDedicatedVHD를 사용하도록 설정된 Ubuntu OS SKU는 OS SKU 마이그레이션을 수행할 수 없습니다.
  • CVM 20.04를 사용하도록 설정된 Ubuntu OS SKU는 OS SKU 마이그레이션을 수행할 수 없습니다.
  • Kata를 사용하도록 설정된 노드 풀은 OS SKU 마이그레이션을 수행할 수 없습니다.
  • Windows OS SKU 마이그레이션은 지원되지 않습니다.
  • Mariner에서 Azure Linux로 OS SKU 마이그레이션이 지원되지만 Mariner로의 롤백은 지원되지 않습니다.

필수 조건

  • 하나 이상의 Ubuntu 노드 풀이 있는 기존 AKS 클러스터입니다.
  • 개발/프로덕션에서 Azure Linux 클러스터를 배포하고 서비스가 정상 상태인지 확인하여 OS SKU 마이그레이션 기능을 사용하기 전에 Azure Linux 컨테이너 호스트에서 워크로드가 성공적으로 구성되고 실행되는지 확인하는 것이 좋습니다.
  • 프로덕션 클러스터에서 프로세스를 사용하기 전에 테스트/개발에서 마이그레이션 기능이 작동하는지 확인합니다.
  • 업그레이드 중에 AKS가 VM 간에 Pod를 이동할 수 있도록 Pod에 Pod 중단 예산이 충분한지 확인합니다.
  • Azure CLI 버전 2.61.0 이상이 필요합니다. az --version을 실행하여 버전을 찾습니다. 설치 또는 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.
  • Terraform을 사용하는 경우 v3.111.0 이상의 AzureRM Terraform 모듈이 있어야 합니다.

Ubuntu 노드 풀의 OS SKU 마이그레이션

  • az aks nodepool update 명령을 사용하여 노드 풀의 OS SKU를 Azure Linux로 마이그레이션합니다. 이 명령은 노드 풀의 OS SKU를 Ubuntu에서 Azure Linux로 업데이트합니다. OS SKU 변경은 즉시 업그레이드 작업을 트리거하며 완료하는 데 몇 분 정도 걸립니다.

    az aks nodepool update --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name> --os-sku AzureLinux
    

    참고 항목

    OS SKU 마이그레이션 중에 문제가 발생하면 이전 OS SKU로 롤백할 수 있습니다.

OS SKU 마이그레이션 확인

테스트 클러스터에서 마이그레이션이 완료되면 성공적인 마이그레이션을 위해 다음 사항을 확인해야 합니다.

  • 마이그레이션 대상이 Azure Linux인 경우 kubectl get nodes -o wide 명령을 실행합니다. 출력에는 CBL-Mariner/Linux가 OS 이미지로 표시되고 .cm2가 커널 버전 끝에 표시되어야 합니다.
  • kubectl get pods -o wide -A 명령을 실행하여 모든 Pod 및 디먼 세트가 새 노드 풀에서 실행되고 있는지 확인합니다.
  • kubectl get nodes --show-labels 명령을 실행하여 업그레이드된 노드 풀의 모든 노드 레이블이 예상한 것과 같은지 확인합니다.

프로덕션 클러스터를 마이그레이션하기 전에 몇 주 동안 서비스의 상태를 모니터링하는 것이 좋습니다.

프로덕션 클러스터에서 OS SKU 마이그레이션 실행

  1. OSSKU=AzureLinux를 설정하도록 기존 템플릿을 업데이트합니다. ARM 템플릿에서는 agentPoolProfile 섹션에 "OSSKU: "AzureLinux"를 사용합니다. Bicep에서는 agentPoolProfile 섹션에 osSku: "AzureLinux"를 사용합니다. 마지막으로 Terraform의 경우 default_node_pool 섹션에서 "os_sku = "AzureLinux"를 사용합니다. apiVersion2023-07-01 이상으로 설정되어 있는지 확인합니다.
  2. 클러스터에 대한 ARM, Bicep 또는 Terraform 템플릿을 다시 배포하여 새 OSSKU 설정을 적용합니다. 이 배포 중에 클러스터는 노드 이미지 업그레이드를 수행하는 것처럼 동작합니다. 클러스터의 용량이 급증한 다음, 기존 노드를 새 OS SKU의 최신 AKS 이미지로 하나씩 재부팅합니다.

롤백

OS SKU 마이그레이션 중에 문제가 발생하면 이전 OS SKU로 롤백할 수 있습니다. 이렇게 하려면 템플릿에서 OS SKU 필드를 변경하고 배포를 다시 제출해야 합니다. 그러면 다른 업그레이드 작업이 트리거되고 노드 풀이 이전 OS SKU로 복원됩니다.

참고 항목

OS SKU 마이그레이션은 OS SKU Mariner로의 롤백을 지원하지 않습니다.

  • az aks nodepool update 명령을 사용하여 이전 OS SKU로 롤백합니다. 이 명령은 노드 풀의 OS SKU를 Azure Linux에서 다시 Ubuntu로 업데이트합니다.

    az aks nodepool update --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --os-sku Ubuntu
    

다음 단계

이 자습서에서는 다음 방법 중 하나를 사용하여 기존 노드를 Azure Linux로 마이그레이션했습니다.

  • 기존 노드 풀을 제거하고 새 Azure Linux 노드 풀을 추가합니다.
  • 현재 위치 OS SKU 마이그레이션.

다음 자습서에서는 원격 분석을 사용하도록 설정하여 클러스터를 모니터링하는 방법을 알아봅니다.