Udostępnij za pośrednictwem


Zatrzymywanie i uruchamianie klastra usługi Azure Kubernetes Service (AKS)

Może nie być konieczne ciągłe uruchamianie obciążeń usługi Azure Kubernetes Service (AKS). Na przykład może istnieć klaster deweloperów, którego używasz tylko w godzinach pracy. Oznacza to, że czasami klaster może być w stanie bezczynności, nie uruchamiając nic więcej niż składniki systemowe. Możesz zmniejszyć zużycie klastra przez skalowanie wszystkich User pul węzłów do 0, ale System pula jest nadal wymagana do uruchamiania składników systemowych podczas działania klastra.

Aby lepiej zoptymalizować koszty w tych okresach, możesz wyłączyć lub zatrzymać klaster. Ta akcja zatrzymuje płaszczyznę sterowania i węzły agenta, co pozwala zaoszczędzić na wszystkich kosztach obliczeń przy zachowaniu wszystkich obiektów z wyjątkiem autonomicznych zasobników. Stan klastra jest przechowywany po ponownym uruchomieniu, co umożliwia wybranie miejsca, w którym została przerwana.

Uwaga

Zatrzymanie klastra cofa przydział płaszczyzny sterowania i zwalnia pojemność. W regionach, w których występują ograniczenia pojemności, klienci mogą nie być w stanie uruchomić zatrzymanego klastra. Z tego powodu nie zalecamy zatrzymywania obciążeń o znaczeniu krytycznym.

Uwaga

Operacje uruchamiania usługi AKS spowodują przywrócenie wszystkich obiektów z etcD z wyjątkiem autonomicznych zasobników o takich samych nazwach i wieku. oznacza to, że wiek zasobnika będzie nadal obliczany na podstawie pierwotnego czasu tworzenia. Ta liczba będzie się zwiększać wraz z upływem czasu, niezależnie od tego, czy klaster jest w stanie zatrzymania.

Zanim rozpoczniesz

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

Informacje o funkcji zatrzymywania/uruchamiania klastra

W przypadku korzystania z funkcji zatrzymywania/uruchamiania klastra obowiązują następujące warunki:

  • Ta funkcja jest obsługiwana tylko w przypadku klastrów opartych na zestawie skalowania maszyn wirtualnych.
  • Nie można zatrzymać klastrów korzystających z funkcji automatycznej aprowizacji węzła (NAP).
  • Stan klastra zatrzymanego klastra usługi AKS jest zachowywany przez maksymalnie 12 miesięcy. Jeśli klaster jest zatrzymany przez ponad 12 miesięcy, nie można odzyskać stanu. Aby uzyskać więcej informacji, zobacz zasady pomocy technicznej usługi AKS.
  • Operacje uruchamiania lub usuwania można wykonywać tylko w zatrzymanym klastrze usługi AKS. Aby wykonać inne operacje, takie jak skalowanie lub uaktualnianie, należy najpierw uruchomić klaster.
  • Jeśli aprowizowano punkty PrivateEndpoint połączone z klastrami prywatnymi, należy je usunąć i ponownie utworzyć po uruchomieniu zatrzymanego klastra usługi AKS.
  • Ponieważ proces zatrzymania opróżnia wszystkie węzły, wszystkie autonomiczne zasobniki (tj. zasobniki, które nie są zarządzane przez element Deployment, StatefulSet, DaemonSet, Job itp.), zostaną usunięte.
  • Po uruchomieniu kopii zapasowej klastra oczekiwane jest następujące zachowanie:
    • Adres IP serwera interfejsu API może ulec zmianie.
    • Jeśli używasz narzędzia do automatycznego skalowania klastra, podczas uruchamiania klastra bieżąca liczba węzłów może nie należeć do ustawionych wartości minimalnych i maksymalnych zakresów. Klaster rozpoczyna z liczbą węzłów potrzebną do uruchomienia obciążeń, na którą nie wpływają ustawienia autoskalowania. Gdy klaster wykonuje operacje skalowania, wartość minimalna i maksymalna będzie mieć wpływ na bieżącą liczbę węzłów, a klaster ostatecznie znajdzie się w żądanym zakresie i pozostanie w nim do momentu zatrzymania klastra.

Zatrzymywanie klastra usługi AKS

  1. Użyj polecenia , az aks stop aby zatrzymać uruchomiony klaster usługi AKS, w tym węzły i płaszczyznę sterowania. Poniższy przykład zatrzymuje klaster o nazwie myAKSCluster:

    az aks stop --name myAKSCluster --resource-group myResourceGroup
    
  2. Sprawdź, czy klaster przestał używać az aks show polecenia i potwierdź, że jest wyświetlany powerState jako Stopped.

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

    Dane wyjściowe powinny wyglądać podobnie do następujących skróconych przykładowych danych wyjściowych:

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

    Jeśli zostanie provisioningState wyświetlony element Stopping, klaster nie został jeszcze w pełni zatrzymany.

Ważne

Jeśli używasz budżetów zakłóceń zasobników, operacja zatrzymania może potrwać dłużej, ponieważ proces opróżniania zajmie więcej czasu.

Uruchamianie klastra usługi AKS

Uwaga

Po użyciu funkcji uruchamiania/zatrzymywania w usłudze AKS należy odczekać 15–30 minut przed ponownym uruchomieniem klastra usługi AKS. Ten okres oczekiwania jest niezbędny, ponieważ pełne zatrzymanie odpowiednich usług trwa kilka minut. Próba ponownego uruchomienia klastra podczas tego procesu może zakłócić proces zamykania i potencjalnie powodować problemy z klastrem lub jego obciążeniami.

  1. Użyj polecenia , az aks start aby uruchomić zatrzymany klaster usługi AKS. Klaster jest uruchamiany ponownie przy użyciu poprzedniego stanu płaszczyzny sterowania i liczby węzłów agenta. Poniższy przykład uruchamia klaster o nazwie myAKSCluster:

    az aks start --name myAKSCluster --resource-group myResourceGroup
    
  2. Sprawdź, czy klaster zaczął używać az aks show polecenia i potwierdzić, że jest wyświetlany powerState Runningelement .

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

    Dane wyjściowe powinny wyglądać podobnie do następujących skróconych przykładowych danych wyjściowych:

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

    Jeśli zostanie wyświetlony komunikat provisioningState Starting, klaster nie został jeszcze w pełni uruchomiony.

Następne kroki