Plánování a řízení upgradů pro cluster Azure Kubernetes Service (AKS) pomocí plánované údržby
V tomto článku se dozvíte, jak pomocí plánované údržby naplánovat a řídit upgrady imagí clusteru a uzlů ve službě Azure Kubernetes Service (AKS).
Cluster AKS má automaticky provedenou pravidelnou údržbu. Existují dva typy operací údržby: iniciované AKS a iniciované uživatelem. Údržba iniciovaná službou AKS zahrnuje týdenní verze, které AKS provádí, aby byl cluster aktuální s nejnovějšími funkcemi a opravami. Údržba iniciovaná uživatelem zahrnuje automatické upgrady clusteru a automatické aktualizace zabezpečení operačního systému uzlu. Funkce Plánované údržby umožňuje spouštět oba typy údržby ve vámi zvoleném tempu, čímž minimalizuje dopad na úlohy.
Než začnete
- Tento článek předpokládá, že máte existující cluster AKS. Pokud cluster AKS nemáte, přečtěte si téma Vytvoření clusteru AKS.
- Pokud používáte Azure CLI, nezapomeňte pomocí
az upgrade
příkazu upgradovat na nejnovější verzi.
Důležité informace
Při použití plánované údržby platí následující aspekty:
- AKS si vyhrazuje právo přerušit časové intervaly plánované údržby pro neplánované a reaktivní operace údržby, které jsou naléhavé nebo kritické. Tyto operace údržby můžou běžet i během
notAllowedTime
obdobínotAllowedDates
definovaných v konfiguraci. - Provádění operací údržby se považuje pouze za nejlepší úsilí a není zaručeno, že dojde v zadaném období.
Konfigurace plánu plánované údržby
Existují tři dostupné typy konfigurace plánu údržby: default
, aksManagedAutoUpgradeSchedule
a aksManagedNodeOSUpgradeSchedule
.
default
je základní konfigurace sloužící k řízení verzí AKS. Uvedení verzí do všech oblastí může trvat až dva týdny od počátečního odeslání kvůli postupům nasazení Azure Sejf (SDP). Zvoltedefault
, že chcete tyto aktualizace naplánovat způsobem, který je pro vás nejméně rušivý. Stav probíhající verze AKS můžete monitorovat podle oblastí pomocí týdenního sledování vydaných verzí.aksManagedAutoUpgradeSchedule
určuje, kdy provést upgrady clusteru naplánované určeným kanálem automatického upgradu. Pomocí této konfigurace můžete nakonfigurovat jemněji řízená četnost a nastavení opakování v porovnání sdefault
konfigurací. Další informace o automatickém upgradu clusteru najdete v tématu Automatické upgrade clusteru Azure Kubernetes Service (AKS).aksManagedNodeOSUpgradeSchedule
určuje, kdy provést opravy zabezpečení operačního systému uzlu naplánované kanálem automatického upgradu operačního systému uzlu. Pomocí této konfigurace můžete nakonfigurovat jemněji řízená četnost a nastavení opakování v porovnání sdefault
konfigurací. Další informace o kanálu automatického upgradu operačního systému uzlu najdete v tématu Automatické opravy a aktualizace imagí uzlů clusteru AKS.
Doporučujeme použít aksManagedAutoUpgradeSchedule
pro všechny scénáře upgradu clusteru a aksManagedNodeOSUpgradeSchedule
pro všechny scénáře oprav zabezpečení operačního systému uzlu. Tato default
možnost je určená výhradně pro týdenní verze AKS. Konfiguraci můžete přepnout default
na aksManagedAutoUpgradeSchedule
konfiguraci nebo aksManagedNodeOSUpgradeSchedule
konfiguraci pomocí az aks maintenanceconfiguration update
příkazu.
Vytvoření časového období údržby
Poznámka:
Pokud používáte automatický upgrade, abyste zajistili správnou funkčnost, použijte časové období údržby s dobou trvání čtyř hodin nebo více.
Časové intervaly plánované údržby jsou uvedeny ve standardu UTC (Coordinated Universal Time).
Časové default
období údržby má následující vlastnosti:
Název | Popis | Default value |
---|---|---|
timeInWeek |
default V konfiguraci tato vlastnost obsahuje day hodnoty definující časové období údržby.hourSlots |
– |
timeInWeek.day |
Den v týdnu k provedení údržby default v konfiguraci |
– |
timeInWeek.hourSlots |
Seznam hodinových časových úseků pro provádění údržby v daném dni v default konfiguraci |
– |
notAllowedTime |
Určuje rozsah dat, která údržba nemůže spustit, určená vlastnostmi a end podřízenými vlastnostmistart . Platí pouze při vytváření časového období údržby pomocí konfiguračního souboru. |
– |
Časové aksManagedAutoUpgradeSchedule
období údržby aksManagedNodeOSUpgradeSchedule
má následující vlastnosti:
Název | Popis | Default value |
---|---|---|
utcOffset |
Slouží k určení časového pásma pro údržbu clusteru. | +00:00 |
startDate |
Datum, kdy se časové období údržby začne projevit | Aktuální datum v době vytvoření |
startTime |
Doba zahájení údržby na základě časového pásma určeného časovým pásmem utcOffset |
– |
schedule |
Používá se k určení frekvence. K dispozici jsou tři typy: Weekly , AbsoluteMonthly a RelativeMonthly |
– |
intervalDays |
Interval ve dnech spuštění údržby. Platí pouze pro aksManagedNodeOSUpgradeSchedule |
– |
intervalWeeks |
Interval v týdnech pro spuštění údržby | – |
intervalMonths |
Interval v měsících pro běhy údržby | – |
dayOfWeek |
Zadaný den v týdnu pro zahájení údržby | – |
durationHours |
Doba trvání časového období pro spuštění údržby | – |
notAllowedDates |
Určuje rozsah kalendářních dat, která nemůže údržba spustit, určená vlastnostmi a end podřízenými vlastnostmistart . Platí pouze při vytváření časového období údržby pomocí konfiguračního souboru. |
– |
Principy typů plánů
Existují čtyři dostupné typy plánů: Daily
, Weekly
, AbsoluteMonthly
a RelativeMonthly
. Tyto typy plánů se vztahují pouze na aksManagedClusterAutoUpgradeSchedule
a aksManagedNodeOSUpgradeSchedule
konfigurace. Daily
plány se vztahují pouze na aksManagedNodeOSUpgradeSchedule
typy.
Poznámka:
Všechna pole zobrazená pro každý odpovídající typ plánu jsou povinná.
Denní plán
Poznámka:
Denní plány se vztahují pouze na aksManagedNodeOSUpgradeSchedule
typy konfigurace.
Plán Daily
může vypadat takto : "každých tři dny":
"schedule": {
"daily": {
"intervalDays": 3
}
}
Týdenní plán
Plán Weekly
může vypadat jako "každý dva týdny v pátek":
"schedule": {
"weekly": {
"intervalWeeks": 2,
"dayOfWeek": "Friday"
}
}
Plán AbsoluteMonthly
Plán AbsoluteMonthly
může vypadat takto : "každý tři měsíce v prvním dni v měsíci":
"schedule": {
"absoluteMonthly": {
"intervalMonths": 3,
"dayOfMonth": 1
}
}
Plán RelativeMonthly
Plán RelativeMonthly
může vypadat jako "každé dva měsíce v posledním pondělí":
"schedule": {
"relativeMonthly": {
"intervalMonths": 2,
"dayOfWeek": "Monday",
"weekIndex": "Last"
}
}
Platné hodnoty pro weekIndex
zahrnutí First
, , Third
Second
, Fourth
, a Last
.
Přidání konfigurace časového období údržby
Přidejte konfiguraci časového období údržby do clusteru AKS pomocí
az aks maintenanceconfiguration add
příkazu.První příklad přidá novou
default
konfiguraci, která plánuje spuštění údržby od 1:00 do 2:00 každé pondělí. Druhý příklad přidá novouaksManagedAutoUpgradeSchedule
konfiguraci, která plánuje spuštění údržby každý třetí pátek mezi 12:00 a 8:00 v časovém pásmuUTC+5:30
.# 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
Poznámka:
Pokud používáte
default
typ konfigurace, můžete parametr vynechat--start-time
, abyste umožnili údržbu kdykoli během dne.
Aktualizace existujícího časového období údržby
Pomocí příkazu aktualizujte existující konfiguraci údržby
az aks maintenanceconfiguration update
.Následující příklad aktualizuje
default
konfiguraci tak, aby plán údržby běžela od 2:00 do 3:00 každé pondělí.az aks maintenanceconfiguration update --resource-group myResourceGroup --cluster-name myAKSCluster --name default --weekday Monday --start-hour 2
Výpis všech časových období údržby v existujícím clusteru
Pomocí příkazu vypište aktuální časová období konfigurace údržby v clusteru az aks maintenanceconfiguration list
AKS.
az aks maintenanceconfiguration list --resource-group myResourceGroup --cluster-name myAKSCluster
Zobrazení určitého časového období konfigurace údržby v existujícím clusteru
Pomocí příkazu s parametrem zobrazte v clusteru az aks maintenanceconfiguration show
AKS konkrétní okno konfigurace údržby --name
.
az aks maintenanceconfiguration show --resource-group myResourceGroup --cluster-name myAKSCluster --name aksManagedAutoUpgradeSchedule
Následující příklad výstupu ukazuje časové období údržby pro 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
}
Odstranění časového období konfigurace údržby v existujícím clusteru
Pomocí příkazu odstraňte okno konfigurace údržby v clusteru
az aks maintenanceconfiguration delete
AKS.Následující příklad odstraní konfiguraci údržby
autoUpgradeSchedule
.az aks maintenanceconfiguration delete --resource-group myResourceGroup --cluster-name myAKSCluster --name autoUpgradeSchedule
Často kladené dotazy
Jak můžu zkontrolovat stávající konfigurace údržby v clusteru?
Použijte příkaz
az aks maintenanceconfiguration show
.Může k neplánované údržbě dojít i během
notAllowedTime
období nebonotAllowedDates
období?Ano, AKS si vyhrazuje právo přerušit tato okna pro neplánované, reaktivní operace údržby, které jsou naléhavé nebo kritické.
Jak zjistíte, jestli došlo k události údržby?
V případě vydaných verzí zkontrolujte oblast clusteru a vyhledejte informace o verzi v týdenních verzích a ověřte, jestli odpovídá vašemu plánu údržby nebo ne. Pokud chcete zobrazit stav automatických upgradů, vyhledejte protokoly aktivit v clusteru. Můžete také vyhledat konkrétní události související s upgradem, jak je uvedeno v upgradu clusteru AKS. AKS také generuje události event Gridu související s upgradem. Další informace najdete v AKS jako zdroj Event Gridu.
Můžete současně použít více než jednu konfiguraci údržby?
Ano, můžete spustit všechny tři konfigurace, tj
default
. ,aksManagedAutoUpgradeSchedule
aksManagedNodeOSUpgradeSchedule
současně. V případě, že se okna překrývají, AKS rozhodne o spuštěném pořadí.Nakonfiguroval(a) jsem časové období údržby, ale upgrade se nestal – proč?
Automatický upgrade AKS potřebuje určitou dobu, aby bylo potřeba vzít v úvahu časové období údržby. Doporučujeme alespoň 24 hodin mezi vytvořením nebo aktualizací konfigurace údržby podle naplánovaného času spuštění.
Ujistěte se také, že se cluster spustí při spuštění časového období plánované údržby. Pokud je cluster zastavený, jeho řídicí rovina se uvolní a není možné provádět žádné operace.
Automatický upgrade AKS neupgradoval všechny fondy agentů – nebo se některý z fondů upgradoval mimo časové období údržby?
Pokud se fondu agentů nepodaří upgradovat (například kvůli rozpočtům přerušení podů brání upgradu) nebo je ve stavu selhání, může se upgradovat později mimo časové období údržby. Tento scénář se nazývá "catch-up upgrade" a zabraňuje tomu, aby fondy agentů s jinou verzí než řídicí rovina AKS.
Existují nějaké osvědčené postupy pro konfigurace údržby?
Pokud používáte
NodeImage
kanál, doporučujeme nastavit plán aktualizací zabezpečení operačního systému Node na týdenní frekvenci, protože se každý týden a každý den odešle nová image uzlu, pokud se rozhodneteSecurityPatch
pro kanál přijímat denní aktualizace zabezpečení. Nastavte plán automatického upgradu na měsíční tempo, abyste zůstali nad zásadami podpory Kubernetes N-2. Podrobné informace o osvědčených postupech upgradu a dalších aspektech najdete v pokynech k opravám a upgradu AKS.
Další kroky
- Pokud chcete začít s upgradem clusteru AKS, přečtěte si téma Upgrade clusteru AKS.