Planowanie konserwacji umożliwia planowanie i kontrolowanie uaktualnień klastra usługi Azure Kubernetes Service (AKS)

W tym artykule pokazano, jak używać planowanej konserwacji do planowania i kontrolowania uaktualnień obrazów klastra i węzła w usłudze Azure Kubernetes Service (AKS).

Klaster usługi AKS jest regularnie wykonywany na nim automatycznie. Istnieją dwa typy operacji konserwacji: inicjowane przez usługę AKS i inicjowane przez użytkownika. Konserwacja inicjowana przez usługę AKS obejmuje cotygodniowe wydania wykonywane przez usługę AKS, aby zapewnić aktualność klastra dzięki najnowszym funkcjom i poprawkom. Konserwacja inicjowana przez użytkownika obejmuje automatyczne uaktualnienia klastra i automatyczne aktualizacje zabezpieczeń systemu operacyjnego Node. Funkcja planowanej konserwacji umożliwia uruchamianie obu typów konserwacji w wybranym okresie, co pozwala zminimalizować wpływ obciążenia.

Zanim rozpoczniesz

  • W tym artykule założono, że masz istniejący klaster usługi AKS. Jeśli nie masz klastra usługi AKS, zobacz Tworzenie klastra usługi AKS.
  • Jeśli używasz interfejsu wiersza polecenia platformy Azure, upewnij się, że wykonasz uaktualnienie do najnowszej wersji przy użyciu az upgrade polecenia .

Kwestie wymagające rozważenia

W przypadku korzystania z planowanej konserwacji mają zastosowanie następujące zagadnienia:

  • Usługa AKS zastrzega sobie prawo do przerwania okien planowanej konserwacji dla nieplanowanych, reaktywnych operacji konserwacji, które są pilne lub krytyczne. Te operacje konserwacji mogą być nawet uruchamiane w okresach notAllowedTime lub notAllowedDates zdefiniowanych w konfiguracji.
  • Wykonywanie operacji konserwacji jest uznawane tylko za najlepsze nakłady pracy i nie ma gwarancji, że wystąpi w określonym oknie.

Konfiguracje harmonogramu planowanej konserwacji

Istnieją trzy dostępne typy konfiguracji harmonogramu konserwacji: default, aksManagedAutoUpgradeSchedulei aksManagedNodeOSUpgradeSchedule.

  • default jest podstawową konfiguracją służącą do kontrolowania wydań usługi AKS. Wdrożenie wersji we wszystkich regionach z początkowego czasu wysyłki z powodu praktyk wdrażania w usłudze Azure Sejf (SDP) może potrwać do dwóch tygodni. Wybierz default , aby zaplanować te aktualizacje w sposób najmniej destrukcyjny dla Ciebie. Stan bieżącej wersji usługi AKS można monitorować według regionu za pomocą monitora cotygodniowych wydań.
  • aksManagedAutoUpgradeSchedule określa, kiedy przeprowadzić uaktualnienia klastra zaplanowane przez wyznaczony kanał automatycznego uaktualniania. W porównaniu z default konfiguracją można skonfigurować bardziej precyzyjne ustawienia cykli i cykli. Aby uzyskać więcej informacji na temat automatycznego uaktualniania klastra, zobacz Automatyczne uaktualnianie klastra usługi Azure Kubernetes Service (AKS).
  • aksManagedNodeOSUpgradeSchedule określa, kiedy należy wykonać poprawki zabezpieczeń systemu operacyjnego węzła zaplanowane przez kanał automatycznego uaktualniania systemu operacyjnego węzła. W porównaniu z default konfiguracją można skonfigurować bardziej precyzyjne ustawienia cykli i cykli. Aby uzyskać więcej informacji na temat kanału automatycznego uaktualniania systemu operacyjnego node, zobacz Automatyczne stosowanie poprawek i aktualizowanie obrazów węzłów klastra usługi AKS

Zalecamy używanie wszystkich aksManagedAutoUpgradeSchedule scenariuszy uaktualniania klastra i aksManagedNodeOSUpgradeSchedule wszystkich scenariuszy stosowania poprawek zabezpieczeń systemu operacyjnego węzła. Opcja default jest przeznaczona wyłącznie dla cotygodniowych wydań usługi AKS. Konfigurację default można przełączyć na aksManagedAutoUpgradeSchedule konfigurację lub aksManagedNodeOSUpgradeSchedule przy użyciu az aks maintenanceconfiguration update polecenia .

Tworzenie okna obsługi

Uwaga

W przypadku korzystania z automatycznego uaktualniania, aby zapewnić odpowiednie funkcje, użyj okna obsługi z czasem trwania co najmniej czterech godzin.

Okna planowanej konserwacji są określone w uniwersalnym czasie koordynowanym (UTC).

default Okno obsługi ma następujące właściwości:

Nazwa/nazwisko opis Domyślna wartość
timeInWeek default W konfiguracji ta właściwość zawiera day wartości i hourSlots definiujące okno obsługi Nie dotyczy
timeInWeek.day Dzień tygodnia do przeprowadzenia konserwacji w default konfiguracji Nie dotyczy
timeInWeek.hourSlots Lista godzinowych przedziałów czasu do przeprowadzenia konserwacji w danym dniu w default konfiguracji Nie dotyczy
notAllowedTime Określa zakres dat, których konserwacja nie może uruchomić, określana przez start właściwości podrzędne i end . Dotyczy tylko tworzenia okna obsługi przy użyciu pliku konfiguracji Nie dotyczy

Okno aksManagedAutoUpgradeSchedule obsługi lub aksManagedNodeOSUpgradeSchedule ma następujące właściwości:

Nazwa/nazwisko opis Domyślna wartość
utcOffset Służy do określania strefy czasowej konserwacji klastra +00:00
startDate Data rozpoczęcia okna obsługi Bieżąca data utworzenia
startTime Czas rozpoczęcia konserwacji na podstawie strefy czasowej określonej przez utcOffset Nie dotyczy
schedule Służy do określania częstotliwości. Dostępne są trzy typy: Weekly, AbsoluteMonthlyi RelativeMonthly Nie dotyczy
intervalDays Interwał w dniach dla przebiegów konserwacji. Dotyczy tylko aksManagedNodeOSUpgradeSchedule Nie dotyczy
intervalWeeks Interwał w tygodniach dla przebiegów konserwacji Nie dotyczy
intervalMonths Interwał w miesiącach dla przebiegów konserwacji Nie dotyczy
dayOfWeek Określony dzień tygodnia na rozpoczęcie konserwacji Nie dotyczy
durationHours Czas trwania okna obsługi do uruchomienia Nie dotyczy
notAllowedDates Określa zakres dat, których konserwacja nie może uruchomić, określona przez start właściwości podrzędne i end . Dotyczy tylko tworzenia okna obsługi przy użyciu pliku konfiguracji Nie dotyczy

Opis typów harmonogramów

Istnieją cztery dostępne typy harmonogramów: Daily, , AbsoluteMonthlyWeeklyi RelativeMonthly. Te typy harmonogramów mają zastosowanie tylko do aksManagedClusterAutoUpgradeSchedule konfiguracji i aksManagedNodeOSUpgradeSchedule . Daily Harmonogramy mają zastosowanie tylko do aksManagedNodeOSUpgradeSchedule typów.

Uwaga

Wymagane są wszystkie pola wyświetlane dla każdego odpowiedniego typu harmonogramu.

Harmonogram dzienny

Uwaga

Codzienne harmonogramy mają zastosowanie tylko do aksManagedNodeOSUpgradeSchedule typów konfiguracji.

Harmonogram Daily może wyglądać następująco: "co trzy dni":

"schedule": {
    "daily": {
        "intervalDays": 3
    }
}

Harmonogram tygodniowy

Harmonogram Weekly może wyglądać następująco: "co dwa tygodnie w piątek":

"schedule": {
    "weekly": {
        "intervalWeeks": 2,
        "dayOfWeek": "Friday"
    }
}

Harmonogram bezwzględny miesiąc

Harmonogram AbsoluteMonthly może wyglądać następująco: "co trzy miesiące, pierwszego dnia miesiąca":

"schedule": {
    "absoluteMonthly": {
        "intervalMonths": 3,
        "dayOfMonth": 1
    }
}

Harmonogram względny miesiąc

Harmonogram RelativeMonthly może wyglądać następująco: "co dwa miesiące, w ostatni poniedziałek":

"schedule": {
    "relativeMonthly": {
        "intervalMonths": 2,
        "dayOfWeek": "Monday",
        "weekIndex": "Last"
    }
}

Prawidłowe wartości dla weekIndex elementów include First, , SecondThird, Fourthi Last.

Dodawanie konfiguracji okna obsługi

  • Dodaj konfigurację okna obsługi do klastra usługi AKS przy użyciu az aks maintenanceconfiguration add polecenia .

    Pierwszy przykład dodaje nową default konfigurację, która planuje konserwację do uruchomienia od 1:00 do 2:00 w każdy poniedziałek. Drugi przykład dodaje nową aksManagedAutoUpgradeSchedule konfigurację, która planuje uruchamianie konserwacji co trzeci piątek między 12:00 a 8:00 w UTC+5:30 strefie czasowej.

    # Add a new default configuration
    az aks maintenanceconfiguration add --resource-group myResourceGroup --cluster-name myAKSCluster --name default --weekday Monday --start-hour 1
    
    # Add a new aksManagedAutoUpgradeSchedule configuration
    az aks maintenanceconfiguration add --resource-group myResourceGroup --cluster-name myAKSCluster --name aksManagedAutoUpgradeSchedule --schedule-type Weekly --day-of-week Friday --interval-weeks 3 --duration 8 --utc-offset +05:30 --start-time 00:00
    

    Uwaga

    W przypadku korzystania z default typu konfiguracji można pominąć --start-time parametr , aby umożliwić konserwację w dowolnym momencie w ciągu dnia.

Aktualizowanie istniejącego okna obsługi

  • Zaktualizuj istniejącą konfigurację konserwacji przy użyciu az aks maintenanceconfiguration update polecenia .

    Poniższy przykład aktualizuje konfigurację, default aby zaplanować konserwację do uruchomienia od 2:00 do 3:00 co poniedziałek.

    az aks maintenanceconfiguration update --resource-group myResourceGroup --cluster-name myAKSCluster --name default --weekday Monday --start-hour 2
    

Wyświetlanie listy wszystkich okien obsługi w istniejącym klastrze

Wyświetl listę bieżących okien konfiguracji konserwacji w klastrze usługi AKS przy użyciu az aks maintenanceconfiguration list polecenia .

az aks maintenanceconfiguration list --resource-group myResourceGroup --cluster-name myAKSCluster

Wyświetlanie określonego okna konfiguracji konserwacji w istniejącym klastrze

Wyświetl określone okno konfiguracji konserwacji w klastrze usługi AKS przy użyciu az aks maintenanceconfiguration show polecenia z parametrem --name .

az aks maintenanceconfiguration show --resource-group myResourceGroup --cluster-name myAKSCluster --name aksManagedAutoUpgradeSchedule

W poniższych przykładowych danych wyjściowych przedstawiono okno obsługi dla aksManagedAutoUpgradeSchedule:

{
  "id": "/subscriptions/<subscription>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/maintenanceConfigurations/aksManagedAutoUpgradeSchedule",
  "maintenanceWindow": {
    "durationHours": 4,
    "notAllowedDates": [
      {
        "end": "2024-01-05",
        "start": "2023-12-23"
      }
    ],
    "schedule": {
      "absoluteMonthly": {
        "dayOfMonth": 1,
        "intervalMonths": 3
      },
      "daily": null,
      "relativeMonthly": null,
      "weekly": null
    },
    "startDate": "2023-01-20",
    "startTime": "09:00",
    "utcOffset": "-08:00"
  },
  "name": "aksManagedAutoUpgradeSchedule",
  "notAllowedTime": null,
  "resourceGroup": "myResourceGroup",
  "systemData": null,
  "timeInWeek": null,
  "type": null
}

Usuwanie okna konfiguracji konserwacji w istniejącym klastrze

  • Usuń okno konfiguracji konserwacji w klastrze usługi AKS przy użyciu az aks maintenanceconfiguration delete polecenia .

    Poniższy przykład usuwa konfigurację autoUpgradeSchedule konserwacji.

    az aks maintenanceconfiguration delete --resource-group myResourceGroup --cluster-name myAKSCluster --name autoUpgradeSchedule
    

Często zadawane pytania

  • Jak sprawdzić istniejące konfiguracje konserwacji w klastrze?

    Użyj polecenia az aks maintenanceconfiguration show.

  • Czy reaktywna, nieplanowana konserwacja może również wystąpić w okresach notAllowedTime lub notAllowedDates ?

    Tak, usługa AKS zastrzega sobie prawo do przerwania tych okien w przypadku nieplanowanych, reaktywnych operacji konserwacji, które są pilne lub krytyczne.

  • Jak sprawdzić, czy wystąpiło zdarzenie konserwacji?

    W przypadku wydań sprawdź region klastra i wyszukaj informacje o wersji w cotygodniowych wersjach i sprawdź, czy jest zgodny z harmonogramem konserwacji, czy nie. Aby wyświetlić stan automatycznych uaktualnień, wyszukaj dzienniki aktywności w klastrze. Możesz również wyszukać określone zdarzenia związane z uaktualnieniem, jak wspomniano w temacie Uaktualnianie klastra usługi AKS. Usługa AKS emituje również zdarzenia usługi Event Grid związane z uaktualnianiem. Aby dowiedzieć się więcej, zobacz AKS jako źródło usługi Event Grid.

  • Czy w tym samym czasie można użyć więcej niż jednej konfiguracji konserwacji?

    Tak, można uruchomić wszystkie trzy konfiguracje, npdefault. , aksManagedAutoUpgradeScheduleaksManagedNodeOSUpgradeSchedulejednocześnie. W przypadku, gdy okna nakładają się na usługę AKS, decyduje o kolejności uruchamiania.

  • Skonfigurowano okno obsługi, ale nie nastąpiło uaktualnienie — dlaczego?

    Automatyczne uaktualnianie usługi AKS wymaga pewnego czasu, aby uwzględnić okno obsługi. Zalecamy co najmniej 24 godziny między utworzeniem lub aktualizacją konfiguracji konserwacji zaplanowanym czasem rozpoczęcia.

    Upewnij się również, że klaster jest uruchomiony po uruchomieniu planowanego okna obsługi. Jeśli klaster zostanie zatrzymany, jego płaszczyzna sterowania zostanie cofnięto przydział i nie można wykonać żadnych operacji.

  • Automatyczne uaktualnianie usługi AKS nie uaktualniło wszystkich pul agentów — czy jedna z pul została uaktualniona poza oknem obsługi?

    Jeśli nie można uaktualnić puli agentów (na przykład z powodu budżetów zakłóceń zasobników uniemożliwiających uaktualnienie) lub jest w stanie Niepowodzenie, może zostać uaktualniony później poza oknem obsługi. Ten scenariusz jest nazywany "uaktualnieniem zaległości" i pozwala pule agentów z inną wersją niż płaszczyzna sterowania usługi AKS.

  • Czy istnieją najlepsze rozwiązania dotyczące konfiguracji konserwacji?

    Zalecamy ustawienie harmonogramu aktualizacji zabezpieczeń systemu operacyjnego Node na cotygodniową kadencję, jeśli używasz NodeImage kanału, ponieważ nowy obraz węzła jest dostarczany co tydzień i codziennie, jeśli zdecydujesz się na SecurityPatch otrzymywanie codziennych aktualizacji zabezpieczeń. Ustaw harmonogram automatycznego uaktualniania na miesięczny cykl życia, aby pozostać na bieżąco z zasadami pomocy technicznej platformy Kubernetes N-2. Szczegółowe omówienie najlepszych rozwiązań dotyczących uaktualniania i innych zagadnień można znaleźć w artykule AKS patch and upgrade guidance (Wskazówki dotyczące poprawek i uaktualniania usługi AKS).

Następne kroki