AKS(Azure Kubernetes Service)의 가용성 집합에서 마이그레이션

이 문서에서는 Azure Kubernetes Service(AKS)가 가상 머신(VM)을 선호하여 Virtual Machine 가용성 집합(VMAS)에 대한 지원을 단계적으로 중단하는 방법을 자세히 설명합니다. AKS 최적화 VM 에 Virtual Machine 노드 풀 을 사용하는 것이 좋습니다.

가상 머신 노드 풀들:

  • VM 인스턴스를 중앙에서 관리, 구성 및 업데이트할 수 있습니다.
  • 요청 또는 정의된 일정에 따라 가상 머신 인스턴스 수를 늘리거나 줄일 수 있습니다.
  • 단일 노드 수준 컨트롤과 서로 다른 크기의 노드의 동일한 패밀리 혼합을 허용하여 유연성을 높이고 일관성을 향상시킵니다.

중요합니다

2025년 9월 30일부터 AKS(Azure Kubernetes Service)는 더 이상 가용성 집합을 지원하지 않습니다. 이 날짜 이후 가용성 집합이 있는 클러스터는 지원되지 않는 것으로 간주됩니다. 지속적인 지원을 보장하고 향상된 관리 기능을 활용하려면 이 날짜 이전에 모든 워크로드를 Virtual Machines 노드 풀 로 마이그레이션합니다. 이 사용 중지에 대한 자세한 내용은 GitHub 사용 중지 문제를 참조하세요. 공지 사항 및 업데이트에 대한 정보를 유지하려면 AKS 릴리스 정보를 따르세요.

가용성 집합 개요

가용성 집합은 관련 VM을 동시에 중단시키는 상관관계 오류가 발생할 가능성을 줄이는 VM(가상 머신)의 논리적 그룹화입니다. 가용성 집합은 안정성을 높이기 위해 다른 장애 도메인에 VM을 배치합니다.

가용성 집합 단계적 중단

2019년 현재 AKS의 가용성 집합에 다른 기능을 더 이상 추가하지 않습니다. AKS Backup과 같이 2019년부터 도입된 모든 기능은 가용성 집합에서 지원되지 않습니다.

가용성 집합에서 Virtual Machines 노드 풀로 마이그레이션

이제 스크립트를 사용하여 가용성 집합을 사용하는 AKS 클러스터를 Virtual Machines 노드 풀로 마이그레이션하는 방법이 있습니다. 또한 이 스크립트는 클러스터의 기본 계층 부하 분산 장치를 표준 계층으로 자동으로 업그레이드합니다.

중요합니다

이 프로세스는 부하 분산 장치와 연결된 인바운드 IP 주소를 동일하게 유지하면서 기본 IP를 표준 IP로 마이그레이션합니다. 이 프로세스 중에 클러스터 송신 트래픽을 제공하기 위해 새 공용 IP가 만들어지고 표준 Load Balancer 아웃바운드 규칙에 연결됩니다.

기본 Load Balancer에서 표준 Load Balancer로 업그레이드하는 방법에 대한 자세한 내용 및 FAQ는 Azure Kubernetes Service의 기본 Load Balancer에서 업그레이드를 참조하세요.

시작하기 전에

요구 사항

  • 이 스크립트의 최소 Kubernetes 버전은 1.27입니다. AKS 클러스터를 업그레이드해야 하는 경우 AKS 클러스터 업그레이드를 참조하세요.
  • 버전 2.76.0 Azure CLI가 설치되어 있어야 합니다.
  • 클러스터가 프라이빗 키 자격 증명 모음을 사용하여 키 관리 서비스를 실행하는 경우 전체 마이그레이션 중에 키 관리 서비스를 사용하지 않도록 설정 해야 합니다.
  • 클러스터가 사용 중인 ValidatingAdmissionWebhooksMutatingAdmissionWebhooks경우 마이그레이션 전에 이러한 웹후크를 사용하지 않도록 설정해야 합니다. 컨트롤 플레인 기본 웹후크는 사용하지 않도록 설정하면 안 됩니다. 예를 들어 aks-node-mutating-webhook, webhook-admission-controller, 및 aks-node-validating-webhook.

마이그레이션 준비

  • 계획된 가동 중지 시간에 대한 마이그레이션 플랜을 만듭니다.
  • 마이그레이션이 시작되면 롤백이 허용되지 않습니다.

가용성 집합 마이그레이션에 대한 마이그레이션 스크립트 실행

다음 명령에서 <myResourceGroup>를 리소스 그룹 이름으로, <myAKSCluster>를 AKS 클러스터 이름으로 각각 바꾸십시오.

  1. 다음 명령은 az aks update 명령, --migrate-vmas-to-vms 설정을 사용하여 가용성 집합을 사용하는 클러스터를 Virtual Machines 노드 풀로 마이그레이션하는 스크립트를 시작합니다. 또한 이 스크립트는 해당하는 경우 기본 Load Balancer 및 기본 IP를 표준 Load Balancer 및 표준 IP로 업그레이드합니다.

    az aks update \
      --name <myAKSCluster> \
      --resource-group <myResourceGroup> \
      --migrate-vmas-to-vms \
    
  2. az aks show 명령을 사용하여 마이그레이션에 성공했는지 확인합니다. 명령의 출력에는 클러스터 세부 정보가 표시됩니다.

    az aks show \
      --name <myAKSCluster> \
      --resource-group <myResourceGroup>
    

    az aks show 명령을 사용하여 클러스터 세부 정보에 typeVirtualMachines로 설정되고, loadbalancerSkuStandard로 설정된 경우, 성공적인 마이그레이션을 확인할 수 있습니다.

      "type": "VirtualMachines"
      "loadBalancerSku": "standard",
    
  3. 다음 명령을 사용하여 kubectl get podskubectl get svc 모든 Pod 및 서비스가 성공적으로 실행되고 있는지 확인합니다.

    kubectl get svc -A \
    kubectl get pods -A
    
  4. 아웃바운드 IP 주소를 나열하여 아웃바운드 규칙과 연결된 새 IP 주소를 확인할 수 있습니다. 이 단계는 IP 주소에 대한 리소스 ID를 확인한 다음 IP 주소를 나열하여 수행됩니다.

    다음 명령을 사용하여 아웃바운드 IP 주소에 대한 리소스 ID를 가져옵니다.

    # Get the outbound IP Resource ID
    az aks show \
      --resource-group <myResourceGroup> \
      --name <myAKSCluster> \
      --query networkProfile.loadBalancerProfile.effectiveOutboundIPs[].id
    

    다음 명령을 사용하여 각 리소스 ID에 대한 IP 주소를 가져오고, 이전 명령에서의 리소스 ID로 <IPResourceID>을 교체합니다.

    # get the new IP for each IP Resource ID
    az network public-ip show --ids <IPResourceID> --query ipAddress -o tsv