다음을 통해 공유


AKS(Azure Kubernetes Service) 클러스터 중지 및 시작

AKS(Azure Kubernetes Service) 워크로드를 지속적으로 실행할 필요는 없습니다. 예를 들어 업무 시간 중에만 사용하는 개발 클러스터가 있을 수 있습니다. 이로 인해 클러스터가 유휴 상태가 되어 시스템 구성 요소만 실행되는 경우가 발생합니다. 모든 User 노드 풀을 0으로 확장하여 클러스터 공간을 줄일 수 있지만, 클러스터가 실행되는 동안에는 시스템 구성 요소를 실행 하는 데에도 System 풀이 필요 합니다.

이러한 기간 동안 비용을 좀 더 최적화하려면 클러스터를 해제 또는 중지할 수 있습니다. 이 작업은 컨트롤 플레인과 에이전트 노드를 중지하여 독립형 Pod를 제외한 모든 개체를 유지 관리하면서 모든 컴퓨팅 비용을 절감할 수 있습니다. 클러스터 상태는 다시 시작할 때 저장되므로 중단한 위치를 선택할 수 있습니다.

주의

클러스터를 중지하면 컨트롤 플레인의 할당이 취소되고 용량이 해제됩니다. 용량 제약 조건이 있는 지역에서는 고객이 중지된 클러스터를 시작하지 못할 수 있습니다. 이러한 이유로 중요 업무용 워크로드를 중지하지 않는 것이 좋습니다.

참고 항목

AKS 시작 작업은 이름과 사용 기간이 같은 독립 실행형 Pod를 제외하고 ETCD의 모든 개체를 복원합니다. 즉, Pod의 사용 기간은 원래 생성 시간부터 계속 계산됩니다. 이 수는 클러스터가 중지된 상태인지 여부에 관계없이 시간이 지나면서 계속 증가합니다.

시작하기 전에

이 문서에서는 기존 AKS 클러스터가 있다고 가정합니다. AKS 클러스터가 필요한 경우 Azure CLI, Azure PowerShell 또는 Azure Portal을 사용하여 만들 수 있습니다.

클러스터 중지/시작 기능 정보

클러스터 시작/중지 기능을 사용하는 경우 다음 조건이 적용됩니다.

  • 이 기능은 Virtual Machine Scale Set 지원 클러스터에서만 지원됩니다.
  • NAP(노드 자동 프로비전) 기능을 사용하는 클러스터는 중지할 수 없습니다.
  • 중지된 AKS 클러스터의 클러스터 상태는 최대 12개월 동안 보존됩니다. 클러스터가 12개월 이상 중지되면 클러스터 상태를 복구할 수 없습니다. 자세한 내용은 AKS 지원 정책을 참조하세요.
  • 중지된 AKS 클러스터에서는 시작 또는 삭제 작업만 수행할 수 있습니다. 스케일링 또는 업그레이드 등의 다른 작업을 수행하려면 먼저 클러스터를 시작해야 합니다.
  • 프라이빗 클러스터에 연결된 고객이 PrivateEndpoints는 프로비전한 경우 중지된 AKS 클러스터를 시작할 때 삭제하고 다시 만들어야 합니다.
  • 중지 프로세스는 모든 노드, 독립 실행형 Pod(즉, Deployment, StatefulSet, DaemonSet, Job 등에 의해 관리되지 않는 Pod)를 드레이닝하기 때문에 삭제됩니다.
  • 클러스터 백업을 시작할 때 예상되는 동작은 다음과 같습니다.
    • API 서버의 IP 주소는 변경될 수 있습니다.
    • 클러스터 자동 스케일러를 사용하는 경우 클러스터를 시작할 때 현재 노드 수가 설정한 최소 및 최대 범위 값 사이에 없을 수 있습니다. 클러스터는 워크로드를 실행하는 데 필요한 노드 수로 시작하며, 자동 크기 조정기 설정의 영향을 받지 않습니다. 클러스터가 조정 작업을 수행할 때 최소값 및 최대값은 현재 노드 수에 영향을 주며, 클러스터는 클러스터를 중지할 때까지 원하는 범위에 진입하여 유지됩니다.

AKS 클러스터 중지

  1. az aks stop 명령을 사용하여 노드 및 컨트롤 플레인을 포함하여 실행 중인 AKS 클러스터를 중지합니다. 다음 예제에서는 myAKSCluster라는 클러스터를 중지합니다.

    az aks stop --name myAKSCluster --resource-group myResourceGroup
    
  2. 클러스터가 az aks show 명령을 사용하고 powerStateStopped이 표시되는지 확인했는지 확인합니다.

    az aks show --name myAKSCluster --resource-group myResourceGroup
    

    출력은 다음과 같이 요약된 예제 출력과 비슷하게 됩니다.

    {
    [...]
      "nodeResourceGroup": "MC_myResourceGroup_myAKSCluster_westus2",
      "powerState":{
        "code":"Stopped"
      },
      "privateFqdn": null,
      "provisioningState": "Succeeded",
      "resourceGroup": "myResourceGroup",
    [...]
    }
    

    provisioningStateStopping을 표시하면 클러스터가 아직 완전히 중지되지 않은 것입니다.

Important

Pod 중단 예산을 사용하는 경우 드레이닝 프로세스를 완료 하는 데 시간이 더 오래 걸릴 수 있으므로 중지 작업에 시간이 더 오래 걸릴 수 있습니다.

AKS 클러스터 시작

주의

AKS에서 시작/중지 기능을 활용한 후에 15-30분 정도 기다렸다가 AKS 클러스터를 다시 시작해야 합니다. 관련 서비스가 완전히 중지되는 데 몇 분 정도 걸리기 때문에 이 대기 기간이 필요합니다. 이 프로세스 중에 클러스터를 다시 시작하려고 하면 종료 프로세스가 중단되고 클러스터 또는 해당 워크로드에 문제가 발생할 수 있습니다.

  1. az aks start 명령을 사용하여 중지된 AKS 클러스터를 시작합니다. 클러스터가 이전 컨트롤 플레인 상태 및 에이전트 노드 수로 다시 시작됩니다. 다음 예제에서는 myAKSCluster라는 클러스터를 시작합니다.

    az aks start --name myAKSCluster --resource-group myResourceGroup
    
  2. 클러스터가 az aks show 명령을 사용하고 powerStateRunning이 표시되는지 확인했는지 확인합니다.

    az aks show --name myAKSCluster --resource-group myResourceGroup
    

    출력은 다음과 같이 요약된 예제 출력과 비슷하게 됩니다.

    {
    [...]
      "nodeResourceGroup": "MC_myResourceGroup_myAKSCluster_westus2",
      "powerState":{
        "code":"Running"
     },
     "privateFqdn": null,
     "provisioningState": "Succeeded",
     "resourceGroup": "myResourceGroup",
    [...]
    }
    

    provisioningStateStarting을 표시하면 클러스터가 아직 완전히 시작되지 않은 것입니다.

다음 단계