Tervezett karbantartás használata az Azure Kubernetes Service-fürt frissítéseinek ütemezéséhez és szabályozásához
Ez a cikk bemutatja, hogyan ütemezheti és szabályozhatja a fürt- és csomópontrendszerkép-frissítéseket az Azure Kubernetes Service-ben (AKS) tervezett karbantartással.
A rendszer automatikusan elvégzi a rendszeres karbantartást az AKS-fürtön. A karbantartási műveleteknek két típusa van:
- Az AKS által kezdeményezett karbantartás magában foglalja azokat a heti kiadásokat, amelyeket az AKS végez annak érdekében, hogy a fürt naprakész legyen a legújabb funkciókkal és javításokkal.
- A felhasználó által kezdeményezett karbantartás magában foglalja a fürt automatikus frissítéseit és a csomópont operációs rendszer (OS) automatikus biztonsági frissítéseit.
Ha a tervezett karbantartás funkcióját használja az AKS-ben, mindkét típusú karbantartást tetszőleges ütemben futtathatja a számítási feladatok hatásának minimalizálása érdekében. A tervezett karbantartással ütemezheti az automatikus frissítések időzítését, de a tervezett karbantartás engedélyezése vagy letiltása nem teszi lehetővé vagy tiltja le az automatikus frissítéseket.
Mielőtt elkezdené
- Ez a cikk feltételezi, hogy van egy meglévő AKS-fürtje. Ha nincs AKS-fürtje, olvassa el az AKS-fürt létrehozása című témakört.
- Ha az Azure CLI-t használja, frissítsen a legújabb verzióra a
az upgrade
parancs használatával.
Megfontolások
Tervezett karbantartás használatakor a következő szempontokat kell figyelembe venni:
- Az AKS fenntartja a jogot, hogy a tervezett karbantartási időszakokat megszakítsa a nem tervezett, reaktív karbantartási műveletek esetében, amelyek sürgősek vagy kritikusak. Ezek a karbantartási műveletek akár a
notAllowedTime
konfigurációban meghatározott időszakokban isnotAllowedDates
futhatnak. - A karbantartási műveletek csak a legjobb erőfeszítésnek minősülnek, és nem garantáltan egy adott ablakban történnek.
Konfigurációtípusok ütemezése tervezett karbantartáshoz
A tervezett karbantartáshoz három ütemezési konfigurációtípus érhető el:
default
az AKS-kiadások szabályozásának alapkonfigurációja. A kiadások akár két hetet is igénybe vehetnek, hogy az Azure biztonságos üzembe helyezési gyakorlata miatt a szállítás kezdeti időpontjától kezdve az összes régióban megjelenjenek.Úgy dönt
default
, hogy ezeket a frissítéseket a legkevésbé zavaró módon ütemezi. A heti kiadáskövetéssel régiónként monitorozhatja egy folyamatban lévő AKS-kiadás állapotát.aksManagedAutoUpgradeSchedule
szabályozza, hogy mikor végezze el a kijelölt automatikus frissítési csatorna által ütemezett fürtfrissítéseket. Ezzel a konfigurációval a konfigurációhoz képestdefault
részletesebben szabályozható ütemezési és ismétlődési beállításokat konfigurálhat. További információ a fürt automatikus frissítéséről: Azure Kubernetes Service-fürt automatikus frissítése.aksManagedNodeOSUpgradeSchedule
a csomópont operációs rendszer automatikus frissítési csatornája által ütemezett csomópont operációsrendszer-biztonsági javítás végrehajtásának időpontját szabályozza. Ezzel a konfigurációval a konfigurációhoz képestdefault
részletesebben szabályozható ütemezési és ismétlődési beállításokat konfigurálhat. A csomópont operációs rendszerének automatikus frissítési csatornáiról további információt az AKS-fürtcsomópont lemezképeinek automatikus javítása és frissítése című témakörben talál.
Javasoljuk, hogy használja aksManagedAutoUpgradeSchedule
az összes fürtfrissítési forgatókönyvet és aksManagedNodeOSUpgradeSchedule
a csomópont operációs rendszerének biztonsági javítási forgatókönyveit.
Ez default
a lehetőség kizárólag az AKS heti kiadásaihoz használható. A parancs használatával átválthat a default
aksManagedAutoUpgradeSchedule
konfigurációra vagy aksManagedNodeOSUpgradeSchedule
a konfigurációra az aks maintenanceconfiguration update
.
Karbantartási időszak létrehozása
Feljegyzés
Ha automatikus frissítést használ, a megfelelő működés biztosítása érdekében használjon egy négy órás vagy annál hosszabb időtartamú karbantartási időszakot.
A tervezett karbantartási időszakokat az egyezményes világidő (UTC) határozza meg.
A default
karbantartási időszak a következő örökölt tulajdonságokkal rendelkezik (már nem ajánlott):
Név | Leírás | Alapértelmezett érték |
---|---|---|
timeInWeek |
default Egy konfigurációban ez a tulajdonság tartalmazza a day karbantartási időszakot meghatározó értékeket és hourSlots értékeket. |
Nem alkalmazható |
timeInWeek.day |
A hét azon napja, amikor karbantartást végez egy default konfigurációban. |
Nem alkalmazható |
timeInWeek.hourSlots |
A konfiguráció egy adott napján default végzett karbantartáshoz szükséges óránkénti idősávok listája. |
Nem alkalmazható |
notAllowedTime |
A karbantartás nem futtatható dátumtartomány, amelyet start end a gyermektulajdonságok határoznak meg. Ez a tulajdonság csak akkor alkalmazható, ha konfigurációs fájl használatával hozza létre a karbantartási időszakot. |
Nem alkalmazható |
Feljegyzés
A 2023-05-01 API-verziótól kezdve használja az alábbi tulajdonságokat a konfigurációhoz default
.
A aksManagedAutoUpgradeSchedule
2023-05-01 API-verziójú vagy aksManagedNodeOSUpgradeSchedule
karbantartási időszak és default
konfiguráció a következő tulajdonságokkal rendelkezik:
Név | Leírás | Alapértelmezett érték |
---|---|---|
utcOffset |
A fürtkarbantartás időzónája. | +00:00 |
startDate |
A karbantartási időszak érvénybe lépésének dátuma. | Az aktuális dátum a létrehozáskor |
startTime |
A karbantartás megkezdésének ideje, a megadott időzóna utcOffset alapján. |
Nem alkalmazható |
schedule |
A frissítés gyakorisága. Három típus érhető el: Weekly , AbsoluteMonthly és RelativeMonthly . |
Nem alkalmazható |
intervalDays |
A karbantartási időszakok napjainak intervalluma. Ez csak a aksManagedNodeOSUpgradeSchedule . |
Nem alkalmazható |
intervalWeeks |
A karbantartási időszakok hetekben megadott időköze. | Nem alkalmazható |
intervalMonths |
A karbantartási időszakok hónapokban megadott intervalluma. | Nem alkalmazható |
dayOfWeek |
A hét megadott napja a karbantartás megkezdéséhez. | Nem alkalmazható |
durationHours |
A karbantartás futtatására szolgáló időszak időtartama. | Nem alkalmazható |
notAllowedDates |
A karbantartás nem futtatható dátumtartomány, amelyet start end a gyermektulajdonságok határoznak meg. Ez csak akkor alkalmazható, ha konfigurációs fájl használatával hozza létre a karbantartási időszakot. |
Nem alkalmazható |
Ütemezési típusok
Négy elérhető ütemezéstípus érhető el: Daily
, Weekly
, AbsoluteMonthly
és RelativeMonthly
.
Weekly
, AbsoluteMonthly
és RelativeMonthly
az ütemezési típusok csak a konfigurációkra aksManagedClusterAutoUpgradeSchedule
aksManagedNodeOSUpgradeSchedule
vonatkoznak. Daily
az ütemezések csak a konfigurációkra aksManagedNodeOSUpgradeSchedule
vonatkoznak.
Az egyes ütemezési típusokhoz megjelenített összes mezőre szükség van.
Az Daily
ütemezés úgy tűnhet, mint "három naponta":
"schedule": {
"daily": {
"intervalDays": 3
}
}
Az Weekly
ütemezés úgy tűnhet, mint "kéthetente pénteken":
"schedule": {
"weekly": {
"intervalWeeks": 2,
"dayOfWeek": "Friday"
}
}
Az AbsoluteMonthly
ütemezés úgy tűnhet, mint "a hónap első napján háromhavonta":
"schedule": {
"absoluteMonthly": {
"intervalMonths": 3,
"dayOfMonth": 1
}
}
Az RelativeMonthly
ütemezés "kéthavonta, az elmúlt hétfőn":
"schedule": {
"relativeMonthly": {
"intervalMonths": 2,
"dayOfWeek": "Monday",
"weekIndex": "Last"
}
}
Érvényes értékek a belefoglaláshoz weekIndex
First
, Second
, Third
, Fourth
és Last
.
Karbantartási időszak konfigurációjának hozzáadása
Adjon hozzá egy karbantartási időszak konfigurációját egy AKS-fürthöz a az aks maintenanceconfiguration add
parancs használatával.
Az első példa egy új default
konfigurációt ad hozzá, amely minden hétfőn 1:00 és 2:00 óra között ütemezi a karbantartást. A második példa egy új aksManagedAutoUpgradeSchedule
konfigurációt ad hozzá, amely úgy ütemezi a karbantartást, hogy minden harmadik pénteken 12:00 és 8:00 között fusson az UTC+5:30
időzónában.
# 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
Feljegyzés
Konfigurációs típus használatakor default
kihagyhatja a paramétert, hogy egy nap során bármikor lehetővé tegye a --start-time
karbantartást.
Meglévő karbantartási időszak frissítése
Frissítsen egy meglévő karbantartási konfigurációt a az aks maintenanceconfiguration update
parancs használatával.
Az alábbi példa frissíti a konfigurációt úgy default
, hogy a karbantartást minden hétfőn 2:00 és 15:00 óra között ütemezze:
az aks maintenanceconfiguration update --resource-group myResourceGroup --cluster-name myAKSCluster --name default --weekday Monday --start-hour 2
Meglévő fürt összes karbantartási ablakának listázása
A parancs használatával az aks maintenanceconfiguration list
listázhatja az AKS-fürt aktuális karbantartási konfigurációs ablakait:
az aks maintenanceconfiguration list --resource-group myResourceGroup --cluster-name myAKSCluster
Adott karbantartási konfigurációs ablak megjelenítése egy meglévő fürtben
Az AKS-fürt egy adott karbantartási konfigurációs ablakának megtekintése a az aks maintenanceconfiguration show
paraméterrel rendelkező --name
paranccsal:
az aks maintenanceconfiguration show --resource-group myResourceGroup --cluster-name myAKSCluster --name aksManagedAutoUpgradeSchedule
Az alábbi példakimenet a következő karbantartási időszakot aksManagedAutoUpgradeSchedule
mutatja be:
{
"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
}
Karbantartási konfigurációs ablak törlése egy meglévő fürtben
A parancs használatával töröljön egy karbantartási konfigurációs ablakot az AKS-fürtben az aks maintenanceconfiguration delete
.
Az alábbi példa törli a karbantartási konfigurációt autoUpgradeSchedule
:
az aks maintenanceconfiguration delete --resource-group myResourceGroup --cluster-name myAKSCluster --name autoUpgradeSchedule
GYIK
Hogyan ellenőrizhetim a fürt meglévő karbantartási konfigurációit?
Használja az
az aks maintenanceconfiguration show
parancsot.Előfordulhatnak reaktív, nem tervezett karbantartások is az
notAllowedTime
adott időszakban vagynotAllowedDates
időszakokban?Igen. Az AKS fenntartja a jogot, hogy ezeket az ablakokat megszakítsa olyan nem tervezett, reaktív karbantartási műveletek esetén, amelyek sürgősek vagy kritikusak.
Hogyan állapíthatom meg, hogy karbantartási esemény történt-e?
Kiadások esetén ellenőrizze a fürt régióját, és heti kiadásokban keresse meg az információkat, és ellenőrizze, hogy az megfelel-e a karbantartási ütemtervnek. Az automatikus frissítések állapotának megtekintéséhez keresse meg a fürt tevékenységnaplóit . Az AKS-fürtök frissítésével kapcsolatos konkrét eseményeket is megkereshet.
Az AKS emellett frissítéssel kapcsolatos Azure Event Grid-eseményeket is bocsát ki. További információkért tekintse meg az AKS-t Event Grid-forrásként.
Egyszerre több karbantartási konfigurációt is használhatok?
Igen, egyszerre mindhárom konfigurációt futtathatja:
default
,aksManagedAutoUpgradeSchedule
ésaksManagedNodeOSUpgradeSchedule
. Ha az ablakok átfedésben vannak, az AKS dönti el a futó sorrendet.Konfiguráltam egy karbantartási időszakot, de a frissítés nem történt meg. Miért?
Az AKS automatikus frissítésének bizonyos időre, általában legfeljebb 15 percre van szüksége a karbantartási időszak figyelembe vételéhez. Javasoljuk, hogy legalább 15 percet a karbantartási konfiguráció létrehozása vagy frissítése és az ütemezett kezdési időpont között.
Győződjön meg arról is, hogy a fürt a tervezett karbantartási időszak kezdetekor indul el. Ha a fürt le van állítva, a vezérlősíkja felszabadítva van, és nem lehet műveleteket végrehajtani.
Miért frissítették az egyik ügynökkészletemet a karbantartási időszakon kívül?
Ha egy ügynökkészlet nincs frissítve (például mert a podkimaradási költségvetések megakadályozták), előfordulhat, hogy később, a karbantartási időszakon kívül frissítjük. Ezt a forgatókönyvet "felzárkózási frissítésnek" nevezzük. Így elkerülhető, hogy az ügynökkészletek az AKS vezérlősíktól eltérő verzióval legyenek frissítve.
Az ügynökkészlet váratlan frissítésének másik oka az, hogy nincs definiált karbantartási konfiguráció, vagy ha törölték. Ebben az esetben az automatikus frissítéssel rendelkező, karbantartási konfigurációval nem rendelkező fürtök véletlenszerű időpontokban (tartalék ütemezés) frissülnek, ami nem kívánt időkeret lehet.
Vannak ajánlott eljárások a karbantartási konfigurációkhoz?
Javasoljuk, hogy a csatorna használata
NodeImage
esetén a csomópont operációs rendszerének biztonsági frissítéseinek ütemezését heti rendszerességűre állítsa, mert a rendszer minden héten új csomópontrendszerképet szállít. Választhatja azt is, hogy a csatorna megkapja aSecurityPatch
napi biztonsági frissítéseket.Állítsa be az automatikus frissítés ütemezését havi ütemezésre, hogy naprakész maradjon a Kubernetes N-2 támogatási szabályzatával.
A frissítési ajánlott eljárások és egyéb szempontok részletes ismertetését az AKS-javítás és a frissítési útmutató ismerteti.
Konfigurálhatom az összes fürtöt egyetlen előfizetésben, hogy ugyanazt a karbantartási konfigurációt használhassam?
Nem javasoljuk, hogy ugyanazt a karbantartási konfigurációt használja több fürthöz egyetlen előfizetésben, mivel ez arm-szabályozási hibákhoz vezethet, amelyek a fürtfrissítések sikertelenségéhez vezethetnek. Ehelyett javasoljuk, hogy a hibák elkerülése érdekében az egyes fürtök karbantartási ablakait ássa át.
Következő lépések
- Az AKS-fürt frissítésének megkezdéséhez tekintse meg az AKS-fürtök frissítési lehetőségeit.
Azure Kubernetes Service