Udostępnij przez


Użyj planowanej konserwacji, aby zaplanować i kontrolować uaktualnienia klastra usługi Azure Kubernetes Service.

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).

Regularna konserwacja w klastrze AKS jest wykonywana automatycznie. Istnieją dwa typy operacji konserwacji:

  • Prace konserwacyjne przeprowadzane przez AKS obejmują cotygodniowe wydania, które AKS wykonuje, aby zapewnić, że klaster będzie na bieżąco z najnowszymi funkcjami i poprawkami.
  • Konserwacja inicjowana przez użytkownika obejmuje automatyczne uaktualnienia klastra i automatyczne aktualizacje zabezpieczeń systemu operacyjnego węzła.

W przypadku korzystania z funkcji planowanej konserwacji w usłudze AKS można uruchamiać oba typy konserwacji w wybranym okresie, aby zminimalizować wpływ obciążenia.

Uwaga

Planowana konserwacja umożliwia zaplanowanie harmonogramu automatycznych uaktualnień, ale włączanie lub wyłączanie planowanej konserwacji nie włącza ani nie wyłącza automatycznych uaktualnień.

Zanim rozpoczniesz

  • W tym artykule założono, że masz istniejący klaster AKS. Jeśli nie masz klastra usługi AKS, zobacz Tworzenie klastra usługi AKS.
  • Jeśli używasz interfejsu wiersza polecenia platformy Azure, przeprowadź 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 zaplanowanych okien 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.
  • Operacje konserwacji są uznawane tylko za najlepsze nakłady pracy i nie mają gwarancji, że występują w określonym oknie.

Planowanie typów konfiguracji na potrzeby planowanej konserwacji

Do planowanej konserwacji są dostępne trzy typy konfiguracji harmonogramu:

  • default to podstawowa konfiguracja umożliwiająca kontrolowanie wydań AKS, obejmująca składniki płaszczyzny kontrolnej oraz aktualizację dodatków systemowych. Dostarczenie nowych wersji do wszystkich regionów od momentu rozpoczęcia wysyłki może potrwać do dwóch tygodni, zgodnie z bezpiecznymi praktykami wdrażania platformy Azure.

    Wybierz default , aby zaplanować te aktualizacje w sposób najmniej destrukcyjny dla Ciebie. Stan bieżącej wersji usługi AKS można monitorować za pomocą monitora cotygodniowego wydania według regionu.

  • aksManagedAutoUpgradeSchedule określa, kiedy przeprowadzić uaktualnienia klastra zaplanowane przez wyznaczony kanał automatycznego uaktualniania. W porównaniu z konfiguracją default, można za pomocą tej konfiguracji skonfigurować bardziej precyzyjne ustawienia rytmu i powtarzania. Aby uzyskać więcej informacji na temat automatycznego uaktualniania klastra, zobacz Automatyczne uaktualnianie klastra usługi Azure Kubernetes Service.

  • 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 konfiguracją default, można za pomocą tej konfiguracji skonfigurować bardziej precyzyjne ustawienia rytmu i powtarzania. Aby uzyskać więcej informacji na temat kanałów automatycznego uaktualniania systemu operacyjnego węzła, zobacz Automatyczne poprawianie i aktualizowanie obrazów węzłów klastra usługi AKS.

Zalecamy używanie aksManagedAutoUpgradeSchedule dla wszystkich scenariuszy aktualizacji wersji klastra Kubernetes i aksManagedNodeOSUpgradeSchedule dla wszystkich scenariuszy stosowania poprawek zabezpieczeń systemu operacyjnego węzła.

Opcja default jest przeznaczona wyłącznie dla cotygodniowych wydań usługi AKS. Użyj default polecenia, jeśli chcesz kontrolować harmonogram uaktualniania składników płaszczyzny sterowania usługi AKS (takich jak serwer API, ETCD itp.) i dodatków (takich jak CoreDNS, Serwer metryk itp.).

Wszystkie trzy typy konfiguracji mogą współistnieć.

Tworzenie okna obsługi

Uwaga

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

Uwaga

Od wersji interfejsu API z 2023-05-01, używaj właściwości z poniższej tabeli do konfiguracji default.

Okno aksManagedAutoUpgradeSchedule obsługi lub aksManagedNodeOSUpgradeSchedule oraz konfiguracja od wersji interfejsu API 2023-05-01 ma następujące właściwości:

Nazwa/nazwisko opis Domyślna wartość
utcOffset Strefa czasowa konserwacji klastra. +00:00
startDate Data, od której okno obsługi zaczyna obowiązywać. Bieżąca data w momencie tworzenia
startTime Czas rozpoczęcia konserwacji na podstawie strefy czasowej określonej przez utcOffset. Nie dotyczy
schedule Częstotliwość uaktualniania. Dostępne są trzy typy: Weekly, AbsoluteMonthlyi RelativeMonthly. Nie dotyczy
intervalDays Okres w dniach między przeglądami konserwacyjnymi. Ma zastosowanie tylko do 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 konserwacyjnego. Nie dotyczy
notAllowedDates Zakres dat, w których konserwacja nie może być przeprowadzona, określony przez właściwości podrzędne start i end. Ma zastosowanie tylko wtedy, gdy tworzysz okno obsługi przy użyciu pliku konfiguracji. Nie dotyczy

Przestarzałe właściwości

Uwaga

Jeśli tworzysz konfigurację default z następującymi przestarzałymi właściwościami, zostanie ona automatycznie zmigrowana do nowych właściwości pokazanych w poprzedniej tabeli.

[Przestarzałe] Okno default obsługi ma następujące starsze właściwości:

Nazwa/nazwisko opis Domyślna wartość
timeInWeek W konfiguracji default ta właściwość zawiera wartości day i hourSlots definiujące okno obsługi. Nie dotyczy
timeInWeek.day Dzień tygodnia, w którym przeprowadzana jest konserwacja w konfiguracji default. Nie dotyczy
timeInWeek.hourSlots Lista godzinowych przedziałów czasu do przeprowadzania konserwacji w określonym dniu w default konfiguracji. Nie dotyczy
notAllowedTime Zakres dat, w których konserwacja nie może być przeprowadzona, określony przez właściwości podrzędne start i end. Ta właściwość ma zastosowanie tylko w przypadku tworzenia okna obsługi przy użyciu pliku konfiguracji. Nie dotyczy

Typy harmonogramu

Obsługiwane są cztery typy harmonogramów: Daily, , WeeklyAbsoluteMonthlyi RelativeMonthly.

W poniższej tabeli przedstawiono typy dostępne dla każdej opcji konfiguracji konserwacji:

Typ harmonogramu default aksManagedClusterAutoUpgradeSchedule aksManagedNodeOSUpgradeSchedule
Codziennie Nieobsługiwane ❌ Obsługiwane ✅ (po czerwcu 2025 r.) Obsługiwane ✅
Co tydzień Obsługiwane ✅ Obsługiwane ✅ Obsługiwane ✅
Miesiąc bezwzględny Nieobsługiwane ❌ Obsługiwane ✅ Obsługiwane ✅
Miesiąc relatywny Nieobsługiwane ❌ Obsługiwane ✅ Obsługiwane ✅

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

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

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

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

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

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

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

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 obejmują First, Second, Third, Fourth i Last.

Dodaj konfigurację okna konserwacji

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 uruchomienie konserwacji od godziny 1:00 do 5:00 każdego poniedziałku w UTC strefie czasowej. 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 $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name default --schedule-type Weekly --day-of-week Monday --interval-weeks 1 --duration 4 --utc-offset +00:00 --start-time 01:00

# Add a new aksManagedAutoUpgradeSchedule configuration
az aks maintenanceconfiguration add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedAutoUpgradeSchedule --schedule-type Weekly --day-of-week Friday --interval-weeks 3 --duration 8 --utc-offset +05:30 --start-time 00:00

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 w celu zaplanowania konserwacji, która będzie działać od 2:00 do 6:00 każdego piątku.

az aks maintenanceconfiguration update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name default --schedule-type Weekly --day-of-week Friday --interval-weeks 1 --duration 4 --utc-offset +00:00 --start-time 02:00

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 $RESOURCE_GROUP --cluster-name $CLUSTER_NAME

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

Wyświetl określone okienko konfiguracji konserwacji w klastrze AKS używając polecenia az aks maintenanceconfiguration show z parametrem --name:

az aks maintenanceconfiguration show --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedAutoUpgradeSchedule

W poniższym przykładowym wyniku 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 $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name autoUpgradeSchedule

Najczęściej zadawane pytania (FAQ)

Jak sprawdzić istniejące konfiguracje konserwacji w klastrze?

Użyj polecenia az aks maintenanceconfiguration show.

Czy doraźna, nieplanowana konserwacja może również wystąpić w notAllowedDates okresach?

Tak. Usługa AKS zastrzega sobie prawo do przerwania tych ram czasowych dla nieplanowanych, reaktywnych operacji konserwacji, które są pilne lub krytyczne.

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

Aby sprawdzić wydania, sprawdź region klastra i znajdź informacje w cotygodniowych wydaniach, aby sprawdzić, czy są zgodne z twoim harmonogramem konserwacji. Aby wyświetlić stan automatycznych uaktualnień, wyszukaj dzienniki aktywności w klastrze. Możesz również wyszukać określone zdarzenia związane z uaktualnieniem usługi AKS, jak wspomniano w temacie Uaktualnienie klastra.

AKS emituje również zdarzenia Azure Event Grid związane z aktualizacją. Aby dowiedzieć się więcej, zobacz AKS jako źródło usługi Event Grid.

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

Tak, można uruchomić wszystkie trzy konfiguracje jednocześnie: default, aksManagedAutoUpgradeSchedulei aksManagedNodeOSUpgradeSchedule. Jeśli okna nakładają się na siebie, AKS decyduje o kolejności uruchamiania.

Skonfigurowano okno obsługi, ale uaktualnienie nie miało miejsce. Dlaczego?

Automatyczne uaktualnianie usługi AKS wymaga pewnego czasu, zwykle nie więcej niż 15 minut, aby uwzględnić okno konserwacji. Zalecamy co najmniej 15 minut między utworzeniem lub aktualizacją konfiguracji konserwacji a zaplanowanym czasem rozpoczęcia.

Upewnij się również, że klaster jest uruchamiany po uruchomieniu planowanego okna obsługi. Jeśli klaster zostanie zatrzymany, jego płaszczyzna kontrolna zostanie zwolniona i nie da się wykonać żadnych operacji.

Dlaczego jedna z moich pul agentów została zaktualizowana poza oknem konserwacji?

Jeśli pula agentów nie zostanie uaktualniona (na przykład, ponieważ budżety zakłóceń zasobników uniemożliwiły to), może zostać uaktualniona później, poza oknem konserwacji. Ten scenariusz jest określany jako uaktualnienie zaległości. Unika to uaktualniania pul agentów do innej wersji niż ta, którą używa płaszczyzna kontrolna na AKS.

Innym powodem, dla którego pula agentów może zostać nieoczekiwanie zaktualizowana, jest brak zdefiniowanej konfiguracji konserwacji lub jej usunięcie. W takim przypadku klaster z automatycznym uaktualnieniem, ale bez konfiguracji konserwacji jest uaktualniany losowo (harmonogram rezerwowy), co może być niepożądanym przedziałem czasu.

Czy istnieją najlepsze praktyki dotyczące konfiguracji konserwacji?

Zalecamy ustawienie harmonogramu aktualizacji zabezpieczeń systemu operacyjnego węzła na cotygodniowy okres, jeśli używasz kanału NodeImage , ponieważ nowy obraz węzła jest dostarczany co tydzień. Możesz również wybrać SecurityPatch kanał, aby otrzymywać codzienne aktualizacje zabezpieczeń.

Harmonogram automatycznego uaktualniania można ustawić na miesięczny okres, aby zachować aktualność w zasadach pomocy technicznej platformy Kubernetes N-2.

Szczegółowe omówienie najlepszych praktyk aktualizacji i innych kwestii można znaleźć w przewodniku po poprawkach i uaktualnieniach AKS.

Czy mogę skonfigurować wszystkie klastry w jednej subskrypcji tak, aby korzystały z tej samej konfiguracji konserwacji?

Nie zalecamy używania tej samej konfiguracji utrzymania dla wielu klastrów w jednej subskrypcji, co może prowadzić do błędów ograniczania przepustowości ARM, skutkujących nieudanymi aktualizacjami klastrów. Zamiast tego zalecamy rozłożenie okien obsługi dla każdego klastra, aby uniknąć tych błędów.

Dlaczego moje pule węzłów zostały uaktualnione dwa razy w tym samym oknie obsługi?

Jeśli nowsza wersja obrazu węzła stanie się dostępna w oknie obsługi, usługa AKS wykona ponowną aktualizację, aby upewnić się, że pule węzłów działają w najnowszej wersji. To zachowanie jest normalne i nie wskazuje problemu.

Aby rozpocząć uaktualnianie klastra usługi AKS, zobacz Opcje uaktualniania klastrów usługi AKS.