Zatrzymywanie i uruchamianie pul węzłów w Azure Kubernetes Service (AKS)

Może nie być konieczne ciągłe uruchamianie obciążeń usługi AKS. Na przykład może istnieć klaster deweloperski, który ma pulę węzłów, w których uruchomiono określone obciążenia. Aby zoptymalizować koszty obliczeń, możesz całkowicie zatrzymać pule węzłów w klastrze usługi AKS. Jeśli musisz ponownie uruchomić obciążenia, możesz ponownie uruchomić pule węzłów. W tym artykule pokazano, jak zatrzymać i uruchomić pule węzłów w klastrze usługi AKS przy użyciu Azure CLI.

Funkcje i ograniczenia

  • Nie można zatrzymywać pul systemowych.
  • Pule węzłów typu spot są obsługiwane.
  • Można zaktualizować zatrzymane pule węzłów.
  • Aby zatrzymać pulę węzłów, musi być uruchomiona pula węzłów klastra i użytkownika, a pula provisioningState węzłów musi mieć wartość Succeeded.
  • Aby uruchomić pulę węzłów, należy uruchomić klaster, a pula węzłów użytkownika musi zostać zatrzymana.
  • Nie można zatrzymać pul węzłów z klastrów korzystających z automatycznej aprowizacji węzłów (NAP).

Wskazówka

Aby zatrzymać i uruchomić pule węzłów w portalu Azure, możesz użyć Azure Copilot. Aby uzyskać więcej informacji, zobacz Praca z klastrami AKS wydajnie przy użyciu rozwiązania Azure Copilot.

Zanim rozpoczniesz

W tym artykule założono, że masz istniejący klaster AKS. Jeśli potrzebujesz klastra usługi AKS, utwórz go przy użyciu interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell lub witryny Azure Portal.

Ten artykuł wymaga Azure CLI w wersji 2.38.0 lub nowszej. Uruchom polecenie az --version , aby znaleźć zainstalowaną wersję. Aby uzyskać więcej informacji na temat instalowania lub uaktualniania Azure CLI, zobacz Instalowanie Azure CLI.

Zatrzymywanie uruchomionej puli węzłów usługi AKS przy użyciu Azure CLI

Przed zatrzymaniem puli węzłów upewnij się, że pula węzłów klastra i użytkownika jest uruchomiona, pula provisioningState węzłów to Succeeded, a klaster nie używa automatycznej aprowizacji węzłów.

Warning

Zatrzymywanie puli węzłów zatrzymuje wszystkie maszyny wirtualne w puli. Przed zatrzymaniem puli upewnij się, że jego obciążenia mogą tolerować przerwy lub mogą działać w innej puli węzłów.

  1. Zatrzymaj działającą pulę węzłów AKS przy użyciu polecenia az aks nodepool stop.

    az aks nodepool stop --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool 
    
  2. Sprawdź, czy pula węzłów przestała działać przy użyciu az aks nodepool show polecenia.

    az aks nodepool show --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool
    

    Krótkie przykładowe wyniki pokazują powerState jako Stopped:

    {
    [...]
     "osType": "Linux",
        "podSubnetId": null,
        "powerState": {
            "code": "Stopped"
            },
        "provisioningState": "Succeeded",
        "proximityPlacementGroupId": null,
    [...]
    }
    

    Uwaga

    Jeśli provisioningState pokazuje Stopping, pula węzłów jest wciąż zatrzymywana.

    Uwaga

    Zatrzymanie puli węzłów powoduje również zatrzymanie automatycznego skalowania klastra dla tej puli węzłów. Uruchomienie puli węzłów powoduje ponowne uruchomienie funkcji automatycznego skalowania klastra. Nie należy ręcznie modyfikować liczby wystąpień zestawu skalowania maszyn wirtualnych w puli podczas jej zatrzymywania. Bezpośrednie modyfikowanie zasobów infrastruktury zarządzanej przez usługę AKS jest nieobsługiwane i może powodować niespójności i niepowodzenia operacji skalowania automatycznego klastra. Aby uzyskać więcej informacji, zobacz Dostosowywanie użytkownika węzłów agenta.


Uruchom ponownie pulę węzłów usługi AKS przy użyciu Azure CLI

Przed uruchomieniem puli węzłów upewnij się, że klaster jest uruchomiony, a pula węzłów użytkownika została zatrzymana.

  1. Uruchom ponownie zatrzymaną pulę węzłów przy użyciu az aks nodepool start polecenia .

    az aks nodepool start --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool 
    
  2. Sprawdź, czy pula węzłów zaczęła działać przy użyciu polecenia az aks nodepool show.

    az aks nodepool show --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool
    

    Krótkie przykładowe wyniki pokazują powerState jako Running:

    {
    [...]
     "osType": "Linux",
        "podSubnetId": null,
        "powerState": {
            "code": "Running"
            },
        "provisioningState": "Succeeded",
        "proximityPlacementGroupId": null,
    [...]
    }
    

    Uwaga

    Jeśli provisioningStateStarting zostanie wyświetlony, pula węzłów jest nadal w trakcie uruchamiania.


Następne kroki