Een langdurige bewerking beëindigen op een AKS-cluster (Azure Kubernetes Service)
Soms kunnen implementaties of andere processen die worden uitgevoerd binnen pods op knooppunten in een cluster, langer duren dan verwacht vanwege verschillende redenen. U kunt inzicht krijgen in de voortgang van elke lopende bewerking, zoals maken, upgraden en schalen, met behulp van een preview-API-versie nadat 2024-01-02-preview
u de volgende az rest-opdracht hebt gebruikt:
export ResourceID="<cluster-resource-id>"
az rest --method get --url "https://management.azure.com$ResourceID/operations/latest?api-version=2024-01-02-preview"
Met deze opdracht krijgt u een percentage dat aangeeft hoe dicht de bewerking is voltooid. U kunt deze methode gebruiken om deze inzichten te verkrijgen voor maximaal 50 van de meest recente bewerkingen in uw cluster. Het kenmerk percentComplete geeft de voltooiingsduur voor de lopende bewerking aan, zoals wordt weergegeven in het volgende voorbeeld:
"id": "/subscriptions/<subscription-id>/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/contoso/operations/<operation-id>",
"name": "<operation-id>",
"percentComplete": 10,
"startTime": "2024-04-08T18:21:31Z",
"status": "InProgress"
Er is ook een cli-opdracht equivalent voor het bovenstaande dat de status van de meest recente bewerking in het cluster weergeeft.
az aks operation show-latest \
--resource-group myResourceGroup \
--name myCluster
Het volgende is een voorbeelduitvoer:
{
"endTime": null,
"error": null,
"id": "/subscriptions/<subscription-id>/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/contoso/operations/<operation-id>",
"name": "<operation-id>",
"operations": null,
"percentComplete": 1.0,
"resourceGroup": "myResourceGroup",
"resourceId": null,
"startTime": "2024-06-12T18:16:21+00:00",
"status": "InProgress"
}
U kunt deze opdracht ook uitvoeren met behulp van de bewerkings-id die beschikbaar is in de bovenstaande uitvoer. De Id
parameter geeft de bewerkings-id aan die moet worden gebruikt. Voorbeeld:
az aks operation show \
--resource-group myResourceGroup \
--name myCluster \
--operation-id "<operation-id>"
Hoewel het belangrijk is om bewerkingen correct te laten beëindigen wanneer ze niet meer nodig zijn, zijn er omstandigheden waarin u het beheer van knooppuntgroepen en clusters met langlopende bewerkingen moet vrijgeven met behulp van een afgebroken opdracht.
AKS-ondersteuning voor het afbreken van langdurige bewerkingen is nu algemeen beschikbaar. Met deze functie kunt u de besturing overnemen en naadloos een andere bewerking uitvoeren. Dit ontwerp wordt ondersteund met behulp van de Azure REST API of de Azure CLI.
De abort-bewerking ondersteunt de volgende scenario's:
- Als een langdurige bewerking vastloopt of vermoedt dat deze een slechte status heeft of mislukt, kan de bewerking worden afgebroken op voorwaarde dat deze de laatste actieve bewerking is in de beheerde cluster- of agentgroep.
- Als een langdurige bewerking is vastgelopen of mislukt, kan die bewerking worden afgebroken.
- Een bewerking die als fout is geactiveerd, kan worden afgebroken zolang de bewerking niet eerst een terminalstatus bereikt.
Voordat u begint
- Azure CLI versie 2.47.0 of hoger. Voer
az --version
deze uit om de versie te vinden en voer deze uitaz upgrade
om de versie te upgraden. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.
Een langdurige bewerking afbreken
U kunt de opdracht az aks nodepool gebruiken met het operation-abort
argument om een bewerking in een knooppuntgroep of een beheerd cluster af te breken.
In het volgende voorbeeld wordt een bewerking op een knooppuntgroep op een opgegeven cluster beëindigd.
az aks nodepool operation-abort \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name myNodePool
In het volgende voorbeeld wordt een bewerking op een opgegeven cluster beëindigd.
az aks operation-abort \
--name myAKSCluster \
--resource-group myResourceGroup
In het antwoord wordt een HTTP-statuscode van 204 geretourneerd.
De inrichtingsstatus van het beheerde cluster of de agentgroep moet worden geannuleerd. Gebruik de REST API Beheerde clusters ophalen of Agentpools ophalen om de bewerking te controleren. De inrichtingsstatus moet binnen een paar seconden nadat de aanvraag wordt geaccepteerd, worden bijgewerkt naar Geannuleerd . De bewerkingsstatus van de laatste actieve bewerkings-id in de beheerde cluster-/agentgroep, die kan worden opgehaald door een GET-bewerking uit te voeren voor de beheerde cluster- of agentgroep, moet de status Annuleren weergeven.
Wanneer u een bewerking beëindigt, wordt deze niet teruggedraaid naar de vorige status en stopt deze bij elke stap in de bewerking die in behandeling was. Zodra de inrichtingsstatus van het cluster is voltooid, wordt de status Geannuleerd weergegeven . Als de bewerking een clusterupgrade is, stopt de bewerking tijdens een annuleringsbewerking waar deze zich bevindt.
Volgende stappen
Meer informatie over Container Insights om te begrijpen hoe u hiermee de prestaties en status van uw Kubernetes-cluster en containerworkloads kunt bewaken.
Azure Kubernetes Service