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

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

이러한 기간 동안 비용을 좀 더 최적화하려면 클러스터를 해제 또는 중지할 수 있습니다. 이 작업은 컨트롤 플레인과 에이전트 노드를 중지하여 독립형 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 클러스터 시작

주의

클러스터를 반복적으로 중지했다가 시작하지 마세요. 이로 인해 오류가 발생할 수 있습니다. 클러스터가 중지되면 다시 시작하기 전에 15~30분 이상 기다려야 합니다.

  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을 표시하면 클러스터가 아직 완전히 시작되지 않은 것입니다.

다음 단계