Gepland onderhoud gebruiken om upgrades voor uw Azure Kubernetes Service-cluster te plannen en te beheren
In dit artikel leest u hoe u gepland onderhoud kunt gebruiken om upgrades van cluster- en knooppuntinstallatiekopieën te plannen en beheren in Azure Kubernetes Service (AKS).
Regelmatig onderhoud wordt automatisch uitgevoerd op uw AKS-cluster. Er zijn twee soorten onderhoudsbewerkingen:
- AKS-geïnitieerd onderhoud omvat de wekelijkse releases die AKS uitvoert om uw cluster up-to-date te houden met de nieuwste functies en oplossingen.
- Door de gebruiker geïnitieerd onderhoud omvat automatische upgrades van clusters en knooppuntbesturingssysteem (OS) automatische beveiligingsupdates.
Wanneer u de functie van gepland onderhoud in AKS gebruikt, kunt u beide typen onderhoud uitvoeren in een frequentie van uw keuze om de impact van de werkbelasting te minimaliseren. U kunt gepland onderhoud gebruiken om de timing van automatische upgrades te plannen, maar gepland onderhoud wordt niet ingeschakeld of uitgeschakeld.
Voordat u begint
- In dit artikel wordt ervan uitgegaan dat u een bestaand AKS-cluster hebt. Zie Een AKS-cluster maken als u geen AKS-cluster hebt.
- Als u de Azure CLI gebruikt, voert u een upgrade uit naar de nieuwste versie met behulp van de
az upgrade
opdracht.
Overwegingen
Wanneer u gepland onderhoud gebruikt, zijn de volgende overwegingen van toepassing:
- AKS behoudt zich het recht voor om geplande onderhoudsvensters te breken voor ongeplande, reactieve onderhoudsbewerkingen die dringend of kritiek zijn. Deze onderhoudsbewerkingen kunnen zelfs worden uitgevoerd tijdens de
notAllowedTime
ofnotAllowedDates
perioden die zijn gedefinieerd in uw configuratie. - Onderhoudsbewerkingen worden alleen beschouwd als best effort en worden niet gegarandeerd binnen een opgegeven venster uitgevoerd.
Configuratietypen plannen voor gepland onderhoud
Er zijn drie planningsconfiguratietypen beschikbaar voor gepland onderhoud:
default
is een basisconfiguratie voor het beheren van AKS-releases. Het kan tot twee weken duren voordat de releases vanaf de eerste verzending naar alle regio's worden geïmplementeerd, vanwege de veilige implementatieprocedures van Azure.Kies ervoor
default
om deze updates te plannen op een manier die het minst storend voor u is. U kunt de status van een doorlopende AKS-release per regio bewaken met de wekelijkse releasetracker.aksManagedAutoUpgradeSchedule
bepaalt wanneer u clusterupgrades wilt uitvoeren die zijn gepland door het aangewezen kanaal voor automatische upgrade. U kunt nauwkeuriger beheerde frequentie- en terugkeerinstellingen configureren met deze configuratie in vergelijking met dedefault
configuratie. Zie Een Azure Kubernetes Service-cluster automatisch upgraden voor meer informatie over automatische upgrade van clusters.aksManagedNodeOSUpgradeSchedule
bepaalt wanneer u de beveiligingspatch voor het knooppuntbesturingssysteem moet uitvoeren die is gepland door het kanaal voor automatische upgrade van het knooppuntbesturingssysteem. U kunt nauwkeuriger beheerde frequentie- en terugkeerinstellingen configureren met deze configuratie in vergelijking met dedefault
configuratie. Zie AKS-clusterknooppuntinstallatiekopieën automatisch patchen en bijwerken voor meer informatie over kanalen voor automatische upgrade van knooppunten van knooppunten van het besturingssysteem.
We raden u aan aksManagedAutoUpgradeSchedule
voor alle scenario's voor clusterupgrades en aksManagedNodeOSUpgradeSchedule
voor alle patchscenario's voor knooppuntbesturingssysteembeveiliging.
De default
optie is uitsluitend bedoeld voor wekelijkse AKS-releases. U kunt de default
configuratie overschakelen naar de aksManagedAutoUpgradeSchedule
of aksManagedNodeOSUpgradeSchedule
configuratie met behulp van de az aks maintenanceconfiguration update
opdracht.
Een onderhoudsvenster maken
Notitie
Wanneer u automatische upgrade gebruikt om de juiste functionaliteit te garanderen, gebruikt u een onderhoudsvenster met een duur van vier uur of meer.
Geplande onderhoudsvensters worden opgegeven in Coordinated Universal Time (UTC).
Een default
onderhoudsvenster heeft de volgende verouderde eigenschappen (niet meer aanbevolen):
Name | Omschrijving | Default value |
---|---|---|
timeInWeek |
In een default configuratie bevat deze eigenschap de day en hourSlots waarden die een onderhoudsvenster definiëren. |
Niet van toepassing |
timeInWeek.day |
De dag van de week voor het uitvoeren van onderhoud in een default configuratie. |
Niet van toepassing |
timeInWeek.hourSlots |
Een lijst met uren lange tijdsleuven voor het uitvoeren van onderhoud op een bepaalde dag in een default configuratie. |
Niet van toepassing |
notAllowedTime |
Een bereik met datums dat onderhoud niet kan worden uitgevoerd, bepaald door start en end onderliggende eigenschappen. Deze eigenschap is alleen van toepassing wanneer u het onderhoudsvenster maakt met behulp van een configuratiebestand. |
Niet van toepassing |
Notitie
Gebruik vanaf de API-versie 2023-05-01 de onderstaande eigenschappen voor default
configuratie.
Een aksManagedAutoUpgradeSchedule
of aksManagedNodeOSUpgradeSchedule
onderhoudsvenster en default
configuratie vanaf 2023-05-01 API-versie hebben de volgende eigenschappen:
Name | Omschrijving | Default value |
---|---|---|
utcOffset |
De tijdzone voor clusteronderhoud. | +00:00 |
startDate |
De datum waarop het onderhoudsvenster van kracht wordt. | De huidige datum bij het maken |
startTime |
De tijd waarop onderhoud moet worden gestart, op basis van de tijdzone die is bepaald door utcOffset . |
Niet van toepassing |
schedule |
De upgradefrequentie. Er zijn drie typen beschikbaar: Weekly , AbsoluteMonthly en RelativeMonthly . |
Niet van toepassing |
intervalDays |
Het interval in dagen voor onderhoudsuitvoeringen. Het is alleen van toepassing op aksManagedNodeOSUpgradeSchedule . |
Niet van toepassing |
intervalWeeks |
Het interval in weken voor onderhoudsuitvoeringen. | Niet van toepassing |
intervalMonths |
Het interval in maanden voor onderhoudsuitvoeringen. | Niet van toepassing |
dayOfWeek |
De opgegeven dag van de week voor onderhoud om te beginnen. | Niet van toepassing |
durationHours |
De duur van het venster voor uitvoering van onderhoud. | Niet van toepassing |
notAllowedDates |
Een bereik met datums dat onderhoud niet kan worden uitgevoerd, bepaald door start en end onderliggende eigenschappen. Dit is alleen van toepassing wanneer u het onderhoudsvenster maakt met behulp van een configuratiebestand. |
Niet van toepassing |
Planningstypen
Er zijn vier beschikbare schematypen beschikbaar: Daily
, Weekly
, AbsoluteMonthly
en RelativeMonthly
.
Weekly
, AbsoluteMonthly
en RelativeMonthly
planningstypen zijn alleen aksManagedClusterAutoUpgradeSchedule
van toepassing op en aksManagedNodeOSUpgradeSchedule
configuraties. Daily
schema's zijn alleen aksManagedNodeOSUpgradeSchedule
van toepassing op configuraties.
Alle velden die voor elk schematype worden weergegeven, zijn vereist.
Een Daily
planning kan er als volgt uitzien: 'elke drie dagen':
"schedule": {
"daily": {
"intervalDays": 3
}
}
Een Weekly
planning kan er als volgt uitzien: 'elke twee weken op vrijdag':
"schedule": {
"weekly": {
"intervalWeeks": 2,
"dayOfWeek": "Friday"
}
}
Een AbsoluteMonthly
planning kan er als volgt uitzien: 'elke drie maanden op de eerste dag van de maand':
"schedule": {
"absoluteMonthly": {
"intervalMonths": 3,
"dayOfMonth": 1
}
}
Een RelativeMonthly
planning kan er als volgt uitzien: 'elke twee maanden op de afgelopen maandag':
"schedule": {
"relativeMonthly": {
"intervalMonths": 2,
"dayOfWeek": "Monday",
"weekIndex": "Last"
}
}
Geldige waarden voor weekIndex
include First
, Second
, Third
, , Fourth
en Last
.
Een configuratie van een onderhoudsvenster toevoegen
Voeg een onderhoudsvensterconfiguratie toe aan een AKS-cluster met behulp van de az aks maintenanceconfiguration add
opdracht.
In het eerste voorbeeld wordt een nieuwe default
configuratie toegevoegd waarmee het onderhoud elke maandag van 1:00 tot 2:00 uur wordt gepland. In het tweede voorbeeld wordt een nieuwe aksManagedAutoUpgradeSchedule
configuratie toegevoegd die onderhoud plant om elke derde vrijdag tussen 12:00 en 8:00 uur in de UTC+5:30
tijdzone uit te voeren.
# 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
Notitie
Wanneer u een default
configuratietype gebruikt, kunt u de --start-time
parameter weglaten om het onderhoud op elk moment van een dag toe te staan.
Een bestaand onderhoudsvenster bijwerken
Werk een bestaande onderhoudsconfiguratie bij met behulp van de az aks maintenanceconfiguration update
opdracht.
In het volgende voorbeeld wordt de configuratie bijgewerkt voor het default
plannen van onderhoud dat elke maandag van 2:00 tot 3:00 uur moet worden uitgevoerd:
az aks maintenanceconfiguration update --resource-group myResourceGroup --cluster-name myAKSCluster --name default --weekday Monday --start-hour 2
Alle onderhoudsvensters in een bestaand cluster weergeven
Geef de huidige onderhoudsconfiguratievensters in uw AKS-cluster weer met behulp van de az aks maintenanceconfiguration list
opdracht:
az aks maintenanceconfiguration list --resource-group myResourceGroup --cluster-name myAKSCluster
Een specifiek onderhoudsconfiguratievenster in een bestaand cluster weergeven
Bekijk een specifiek onderhoudsconfiguratievenster in uw AKS-cluster met behulp van de az aks maintenanceconfiguration show
opdracht met de --name
parameter:
az aks maintenanceconfiguration show --resource-group myResourceGroup --cluster-name myAKSCluster --name aksManagedAutoUpgradeSchedule
In de volgende voorbeelduitvoer ziet u het onderhoudsvenster voor 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
}
Een onderhoudsconfiguratievenster in een bestaand cluster verwijderen
Verwijder een onderhoudsconfiguratievenster in uw AKS-cluster met behulp van de az aks maintenanceconfiguration delete
opdracht.
In het volgende voorbeeld wordt de autoUpgradeSchedule
onderhoudsconfiguratie verwijderd:
az aks maintenanceconfiguration delete --resource-group myResourceGroup --cluster-name myAKSCluster --name autoUpgradeSchedule
Veelgestelde vragen
Hoe kan ik de bestaande onderhoudsconfiguraties in mijn cluster controleren?
Gebruik de opdracht
az aks maintenanceconfiguration show
.Kan reactief, ongepland onderhoud ook plaatsvinden tijdens de
notAllowedTime
ofnotAllowedDates
perioden?Ja. AKS behoudt zich het recht voor om deze vensters te breken voor ongeplande, reactieve onderhoudsbewerkingen die dringend of kritiek zijn.
Hoe kan ik zien of er een onderhoudsgebeurtenis is opgetreden?
Voor releases controleert u de regio van uw cluster en zoekt u informatie op in wekelijkse releases om te zien of deze overeenkomt met uw onderhoudsschema. Als u de status van uw automatische upgrades wilt bekijken, zoekt u activiteitenlogboeken op in uw cluster. U kunt ook specifieke upgradegebeurtenissen opzoeken, zoals vermeld in Een AKS-cluster upgraden.
AKS verzendt ook upgradegerelateerde Azure Event Grid-gebeurtenissen. Zie AKS als een Event Grid-bron voor meer informatie.
Kan ik meer dan één onderhoudsconfiguratie tegelijk gebruiken?
Ja, u kunt alle drie de configuraties tegelijk uitvoeren:
default
,aksManagedAutoUpgradeSchedule
, enaksManagedNodeOSUpgradeSchedule
. Als de vensters elkaar overlappen, bepaalt AKS de uitvoeringsvolgorde.Ik heb een onderhoudsvenster geconfigureerd, maar de upgrade is niet uitgevoerd. Waarom?
Automatische upgrade van AKS heeft een bepaalde tijd nodig, meestal niet meer dan 15 minuten, om rekening te houden met het onderhoudsvenster. We raden ten minste 15 minuten aan tussen het maken of bijwerken van een onderhoudsconfiguratie en de geplande begintijd.
Zorg er ook voor dat uw cluster wordt gestart wanneer het geplande onderhoudsvenster wordt gestart. Als het cluster is gestopt, wordt de toewijzing van het besturingsvlak ongedaan gemaakt en kunnen er geen bewerkingen worden uitgevoerd.
Waarom is een van mijn agentpools bijgewerkt buiten het onderhoudsvenster?
Als een agentgroep niet wordt bijgewerkt (bijvoorbeeld omdat budgetten voor podonderbreking dit verhinderden), kan deze later, buiten het onderhoudsvenster, worden bijgewerkt. Dit scenario wordt een 'inhaalupgrade' genoemd. Het voorkomt dat agentpools worden bijgewerkt met een andere versie dan het AKS-besturingsvlak.
Een andere reden waarom een agentgroep onverwacht kan worden bijgewerkt, is wanneer er geen gedefinieerde onderhoudsconfiguratie is of als deze is verwijderd. In dat geval wordt een cluster met automatische upgrade , maar zonder een onderhoudsconfiguratie op willekeurige momenten geüpgraded (terugvalschema), wat mogelijk een ongewenst tijdsbestek is.
Zijn er best practices voor de onderhoudsconfiguraties?
Het is raadzaam om het beveiligingsupdatesschema voor het knooppuntbesturingssysteem in te stellen op een wekelijkse frequentie als u het
NodeImage
kanaal gebruikt, omdat er elke week een nieuwe knooppuntinstallatiekopie wordt verzonden. U kunt ook kiezen voor hetSecurityPatch
kanaal om dagelijkse beveiligingsupdates te ontvangen.Stel het schema voor automatische upgrade in op een maandelijkse frequentie om op de hoogte te blijven van het Kubernetes N-2-ondersteuningsbeleid.
Zie AKS-patch- en upgraderichtlijnen voor een gedetailleerde bespreking van best practices en andere overwegingen voor upgrades.
Kan ik al mijn clusters in één abonnement configureren om dezelfde onderhoudsconfiguratie te gebruiken?
We raden u niet aan dezelfde onderhoudsconfiguratie te gebruiken voor meerdere clusters in één abonnement, omdat dit kan leiden tot ARM-beperkingsfouten waardoor clusterupgrades mislukken. In plaats daarvan raden we u aan de onderhoudsvensters voor elk cluster te verdelen om deze fouten te voorkomen.
Volgende stappen
Azure Kubernetes Service