Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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łączenie lub wyłączenie planowanej konserwacji nie spowoduje włączenia ani wyłączenia 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
lubnotAllowedDates
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 do kontrolowania wydań usługi AKS. 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żesz skonfigurować bardziej precyzyjne ustawienia kadencji i powtarzania za pomocą tej konfiguracji. 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
we wszystkich scenariuszach uaktualniania klastra i aksManagedNodeOSUpgradeSchedule
we wszystkich scenariuszach stosowania poprawek zabezpieczeń systemu operacyjnego węzła.
Opcja default
jest przeznaczona wyłącznie dla cotygodniowych wydań usługi AKS. Konfigurację można przełączyć na konfigurację default
aksManagedAutoUpgradeSchedule
lub aksManagedNodeOSUpgradeSchedule
przy użyciu az aks maintenanceconfiguration update
polecenia .
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.
Okna planowanej konserwacji są określone w uniwersalnym czasie koordynowanym (UTC).
Okno default
obsługi ma następujące starsze właściwości (nie jest już zalecane):
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 |
Uwaga
Począwszy od wersji interfejsu API 2023-05-01, należy używać poniższych właściwości 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 , AbsoluteMonthly i 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 się odbywać, 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 |
Typy harmonogramu
Dostępne są cztery dostępne typy harmonogramów: Daily
, , Weekly
AbsoluteMonthly
i RelativeMonthly
.
Weekly
, AbsoluteMonthly
i RelativeMonthly
rodzaje harmonogramów mają zastosowanie tylko do konfiguracji aksManagedClusterAutoUpgradeSchedule
i aksManagedNodeOSUpgradeSchedule
.
Daily
Harmonogramy mają zastosowanie tylko do aksManagedNodeOSUpgradeSchedule
konfiguracji.
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 konserwacji do klastra AKS przy użyciu polecenia az aks maintenanceconfiguration add
.
Pierwszy przykład dodaje nową default
konfigurację, która planuje uruchomienie konserwacji od godziny 1:00 do godziny 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
Jeśli używasz default
typu konfiguracji, możesz pominąć parametr --start-time
, 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 konserwacja była przeprowadzana od 2:00 AM do 3:00 AM w każdy 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 za pomocą polecenia az aks maintenanceconfiguration list
.
az aks maintenanceconfiguration list --resource-group myResourceGroup --cluster-name myAKSCluster
Wyświetlanie określonego okna konfiguracji konserwacji w istniejącym klastrze
Aby wyświetlić konkretne okno konfiguracji konserwacji w klastrze AKS, użyj polecenia az aks maintenanceconfiguration show
z parametrem --name
.
az aks maintenanceconfiguration show --resource-group myResourceGroup --cluster-name myAKSCluster --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 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
lubnotAllowedDates
?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
,aksManagedAutoUpgradeSchedule
iaksManagedNodeOSUpgradeSchedule
. 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 nazywany "uaktualnieniem wyrównawczym". Zapobiega aktualizowaniu pul agentów do innej wersji niż ta używana przez płaszczyznę sterowania usługi 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, zostanie uaktualniony losowo (harmonogram zastępczy), co może przypadać na niepożądany czas.
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ń.Ustaw harmonogram automatycznego uaktualniania w cyklu miesięcznym, aby zachować zgodność z polityką wsparcia 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.
Następne kroki
- Aby rozpocząć uaktualnianie klastra usługi AKS, zobacz Opcje uaktualniania klastrów usługi AKS.
Azure Kubernetes Service