Använd Planerat underhåll för att schemalägga och kontrollera uppgraderingar för ditt AKS-kluster (Azure Kubernetes Service)
Den här artikeln visar hur du använder Planerat underhåll för att schemalägga och styra kluster- och nodavbildningsuppgraderingar i Azure Kubernetes Service (AKS).
AKS-klustret har regelbundet underhåll som utförs automatiskt. Det finns två typer av underhållsåtgärder: AKS-initierade och användarinitierade. AKS-initierat underhåll omfattar de veckovisa versioner som AKS utför för att hålla klustret uppdaterat med de senaste funktionerna och korrigeringarna. Användarinitierat underhåll omfattar automatiska klusteruppgraderingar och automatiska säkerhetsuppdateringar för Node OS. Med funktionen Planerat underhåll kan du köra båda typerna av underhåll i valfri takt, vilket minimerar påverkan på arbetsbelastningen.
Innan du börjar
- Den här artikeln förutsätter att du har ett befintligt AKS-kluster. Om du inte har något AKS-kluster kan du läsa Skapa ett AKS-kluster.
- Om du använder Azure CLI kontrollerar du att du uppgraderar till den senaste versionen med hjälp av
az upgrade
kommandot .
Att tänka på
När du använder Planerat underhåll gäller följande överväganden:
- AKS förbehåller sig rätten att bryta fönster för planerat underhåll för oplanerade, reaktiva underhållsåtgärder som är brådskande eller kritiska. Dessa underhållsåtgärder kan till och med köras under de
notAllowedTime
perioder ellernotAllowedDates
perioder som definierats i konfigurationen. - Att utföra underhållsåtgärder anses endast vara bästa möjliga och garanteras inte ske inom ett angivet fönster.
Schemakonfigurationer för planerat underhåll
Det finns tre tillgängliga konfigurationstyper för underhållsschema: default
, aksManagedAutoUpgradeSchedule
och aksManagedNodeOSUpgradeSchedule
.
default
är en grundläggande konfiguration som används för att styra AKS-versioner. Det kan ta upp till två veckor att distribuera versionerna till alla regioner från den första leveranstiden på grund av Azure Valv Deployment Practices (SDP). Väljdefault
att schemalägga dessa uppdateringar på ett sätt som är minst störande för dig. Du kan övervaka statusen för en pågående AKS-version per region med spåraren för veckoversioner.aksManagedAutoUpgradeSchedule
styr när du ska utföra klusteruppgraderingar som schemalagts av din avsedda kanal för automatisk uppgradering. Du kan konfigurera mer noggrant kontrollerade inställningar för kadens och upprepning med den här konfigurationen jämfört med konfigurationendefault
. Mer information om automatisk uppgradering av kluster finns i Uppgradera automatiskt ett AKS-kluster (Azure Kubernetes Service).aksManagedNodeOSUpgradeSchedule
styr när du ska utföra nodoperativsystemets säkerhetskorrigering som schemalagts av nodens kanal för automatisk uppgradering av operativsystemet. Du kan konfigurera mer noggrant kontrollerade inställningar för kadens och upprepning med den här konfigurationen jämfört med konfigurationendefault
. Mer information om den automatiska uppgraderingskanalen för nodoperativsystem finns i Korrigera och uppdatera AKS-klusternodavbildningar automatiskt
Vi rekommenderar att du använder aksManagedAutoUpgradeSchedule
för alla scenarier för klusteruppgradering och aksManagedNodeOSUpgradeSchedule
för alla scenarier för säkerhetskorrigering av nodoperativsystem. Alternativet default
är endast avsett för veckoversioner av AKS. Du kan växla konfigurationen default
till konfigurationerna aksManagedAutoUpgradeSchedule
eller aksManagedNodeOSUpgradeSchedule
med hjälp av az aks maintenanceconfiguration update
kommandot .
Skapa ett underhållsperiod
Kommentar
När du använder automatisk uppgradering använder du ett underhållsperiod med en varaktighet på fyra timmar eller mer för att säkerställa rätt funktioner.
Fönster för planerat underhåll anges i UTC (Coordinated Universal Time).
En default
underhållsperiod har följande egenskaper:
Name | Beskrivning | Standardvärde |
---|---|---|
timeInWeek |
I en default konfiguration innehåller day den här egenskapen värdena och hourSlots som definierar ett underhållsperiod |
Ej tillämpligt |
timeInWeek.day |
Veckodagen för underhåll i en default konfiguration |
Ej tillämpligt |
timeInWeek.hourSlots |
En lista över timslånga tidsintervall för underhåll en viss dag i en default konfiguration |
Ej tillämpligt |
notAllowedTime |
Anger ett intervall med datum som underhåll inte kan köras, bestäms av start och end underordnade egenskaper. Gäller endast när du skapar underhållsfönstret med hjälp av en konfigurationsfil |
Ej tillämpligt |
En aksManagedAutoUpgradeSchedule
eller aksManagedNodeOSUpgradeSchedule
underhållsperiod har följande egenskaper:
Name | Beskrivning | Standardvärde |
---|---|---|
utcOffset |
Används för att fastställa tidszonen för klusterunderhåll | +00:00 |
startDate |
Det datum då underhållsperioden börjar gälla | Aktuellt datum vid skapandetillfället |
startTime |
Tiden för underhåll att börja, baserat på tidszonen som bestäms av utcOffset |
Ej tillämpligt |
schedule |
Används för att fastställa frekvensen. Det finns tre typer: Weekly , AbsoluteMonthly och RelativeMonthly |
Ej tillämpligt |
intervalDays |
Intervallet i dagar för underhåll körs. Gäller endast för aksManagedNodeOSUpgradeSchedule |
Ej tillämpligt |
intervalWeeks |
Intervallet i veckor för underhållskörningar | Ej tillämpligt |
intervalMonths |
Intervallet i månader för underhållskörningar | Ej tillämpligt |
dayOfWeek |
Den angivna veckodagen för underhåll som ska påbörjas | Ej tillämpligt |
durationHours |
Varaktigheten för fönstret för underhåll som ska köras | Ej tillämpligt |
notAllowedDates |
Anger ett intervall med datum som underhåll inte kan köras, bestäms av start och end underordnade egenskaper. Gäller endast när du skapar underhållsfönstret med hjälp av en konfigurationsfil |
Ej tillämpligt |
Förstå schematyper
Det finns fyra tillgängliga schematyper: Daily
, Weekly
, AbsoluteMonthly
och RelativeMonthly
. Dessa schematyper gäller endast för aksManagedClusterAutoUpgradeSchedule
och aksManagedNodeOSUpgradeSchedule
konfigurationer. Daily
scheman gäller endast för aksManagedNodeOSUpgradeSchedule
typer.
Kommentar
Alla fält som visas för respektive schematyp krävs.
Dagligt schema
Kommentar
Dagliga scheman gäller endast för aksManagedNodeOSUpgradeSchedule
konfigurationstyper.
Ett Daily
schema kan se ut som "var tredje dag":
"schedule": {
"daily": {
"intervalDays": 3
}
}
Veckoschema
Ett Weekly
schema kan se ut som "varannan vecka på fredag":
"schedule": {
"weekly": {
"intervalWeeks": 2,
"dayOfWeek": "Friday"
}
}
AbsoluteMonthly-schema
Ett AbsoluteMonthly
schema kan se ut som "var tredje månad, den första dagen i månaden":
"schedule": {
"absoluteMonthly": {
"intervalMonths": 3,
"dayOfMonth": 1
}
}
RelativeMonthly-schema
Ett RelativeMonthly
schema kan se ut som "varannan månad, den senaste måndagen":
"schedule": {
"relativeMonthly": {
"intervalMonths": 2,
"dayOfWeek": "Monday",
"weekIndex": "Last"
}
}
Giltiga värden för weekIndex
inkluderar First
, Second
, Third
, Fourth
och Last
.
Lägga till en underhållsfönsterkonfiguration
Lägg till en underhållsfönsterkonfiguration i ett AKS-kluster med hjälp av
az aks maintenanceconfiguration add
kommandot .Det första exemplet lägger till en ny
default
konfiguration som schemalägger underhåll för körning från 01:00 till 02:00 varje måndag. Det andra exemplet lägger till en nyaksManagedAutoUpgradeSchedule
konfiguration som schemalägger underhåll så att det körs var tredje fredag mellan 12:00 och 08:00 i tidszonenUTC+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
Kommentar
När du använder en
default
konfigurationstyp kan du utelämna parametern--start-time
för att tillåta underhåll när som helst under en dag.
Uppdatera en befintlig underhållsperiod
Uppdatera en befintlig underhållskonfiguration med hjälp av
az aks maintenanceconfiguration update
kommandot .I följande exempel uppdateras konfigurationen
default
för att schemalägga underhåll som ska köras från 02:00 till 03:00 varje måndag.az aks maintenanceconfiguration update --resource-group myResourceGroup --cluster-name myAKSCluster --name default --weekday Monday --start-hour 2
Visa en lista över alla underhållsperioder i ett befintligt kluster
Visa en lista över de aktuella underhållskonfigurationsfönstren az aks maintenanceconfiguration list
i AKS-klustret med kommandot .
az aks maintenanceconfiguration list --resource-group myResourceGroup --cluster-name myAKSCluster
Visa ett specifikt underhållskonfigurationsfönster i ett befintligt kluster
Visa ett specifikt underhållskonfigurationsfönster i AKS-klustret med hjälp av az aks maintenanceconfiguration show
kommandot med parametern --name
.
az aks maintenanceconfiguration show --resource-group myResourceGroup --cluster-name myAKSCluster --name aksManagedAutoUpgradeSchedule
Följande exempelutdata visar underhållsfönstret för 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
}
Ta bort ett underhållskonfigurationsfönster i ett befintligt kluster
Ta bort ett underhållskonfigurationsfönster i AKS-klustret med hjälp av
az aks maintenanceconfiguration delete
kommandot .I följande exempel tas underhållskonfigurationen
autoUpgradeSchedule
bort.az aks maintenanceconfiguration delete --resource-group myResourceGroup --cluster-name myAKSCluster --name autoUpgradeSchedule
Vanliga frågor
Hur kan jag kontrollera de befintliga underhållskonfigurationerna i mitt kluster?
Använd kommandot
az aks maintenanceconfiguration show
.Kan reaktivt, oplanerat underhåll även ske under
notAllowedTime
perioder ellernotAllowedDates
under perioder?Ja, AKS förbehåller sig rätten att bryta dessa fönster för oplanerade, reaktiva underhållsåtgärder som är brådskande eller kritiska.
Hur vet du om en underhållshändelse har inträffat?
För versioner kontrollerar du klustrets region och letar upp versionsinformation i veckoversioner och kontrollerar om den matchar ditt underhållsschema eller inte. Om du vill visa status för dina automatiska uppgraderingar letar du upp aktivitetsloggar i klustret. Du kan också söka efter specifika uppgraderingsrelaterade händelser som nämns i Uppgradera ett AKS-kluster. AKS genererar även uppgraderingsrelaterade Event Grid-händelser. Mer information finns i AKS som en Event Grid-källa.
Kan du använda mer än en underhållskonfiguration samtidigt?
Ja, du kan köra alla tre konfigurationerna, t.ex
default
. ,aksManagedAutoUpgradeSchedule
aksManagedNodeOSUpgradeSchedule
samtidigt. Om fönstren överlappar AKS bestämmer körningsordningen.Jag har konfigurerat ett underhållsperiod, men uppgraderingen skedde inte – varför?
Den automatiska AKS-uppgraderingen behöver en viss tid för att ta hänsyn till underhållsfönstret. Vi rekommenderar minst 24 timmar mellan skapandet eller uppdateringen av en underhållskonfiguration den schemalagda starttiden.
Se också till att klustret startas när fönstret för planerat underhåll startas. Om klustret stoppas frigörs dess kontrollplan och inga åtgärder kan utföras.
Den automatiska AKS-uppgraderingen uppgraderade inte alla mina agentpooler – eller så uppgraderades en av poolerna utanför underhållsfönstret?
Om en agentpool inte kan uppgraderas (till exempel på grund av att podduppehållsbudgetar förhindrar att den uppgraderas) eller är i ett feltillstånd, kan den uppgraderas senare utanför underhållsfönstret. Det här scenariot kallas "catch-up upgrade" och undviker att låta agentpooler med en annan version än AKS-kontrollplanet.
Finns det några metodtips för underhållskonfigurationerna?
Vi rekommenderar att du ställer in schemat för
SecurityPatch
Node OS-säkerhetsuppdateringar till en veckovis takt om du använderNodeImage
kanalen eftersom en ny nodavbildning levereras varje vecka och varje dag om du väljer att kanalen ska ta emot dagliga säkerhetsuppdateringar. Ange schemat för automatisk uppgradering till en månatlig takt för att hålla koll på kubernetes N-2-supportprincipen. En detaljerad beskrivning av metodtips för uppgradering och andra överväganden finns i AKS-korrigerings- och uppgraderingsvägledning.
Nästa steg
- Information om hur du kommer igång med att uppgradera DITT AKS-kluster finns i Uppgradera ett AKS-kluster