Exemplaren van virtuele-machineschaalsets van Azure worden niet hersteld, zelfs niet wanneer het beleid voor automatische reparatie is ingeschakeld
Azure VMSS-exemplaren blijven de status Niet in orde en worden zelfs niet hersteld wanneer het beleid voor automatische reparatie is ingeschakeld. Dit artikel bevat mogelijke oorzaken en bijbehorende oplossingen voor dit probleem:
- Beleid voor automatische reparaties is niet correct ingeschakeld in de schaalset.
- Statuscontrole is niet juist geconfigureerd in de schaalset.
- Het exemplaar is gemarkeerd als beschadigd vanwege een inrichtingsfout.
- Automatische reparaties zijn onderbroken in de schaalset vanwege te veel mislukte reparaties.
- Het exemplaar bevindt zich in de respijtperiode.
Beleid voor automatische reparaties is niet correct ingeschakeld in de schaalset
Controleer of uw VMSS is aangemeld voor automatische reparaties door de servicestatus ervan te bekijken.
Onder de orchestrationServices
eigenschap, als de serviceState
voor automatische reparaties is Running
, wordt de VMSS gekozen voor automatische reparaties.
Als het serviceState
beleid voor NotRunning
automatische reparaties niet wordt weergegeven onder de orchestrationServices
eigenschap, moet u het beleid voor automatische reparaties inschakelen in de schaalset. Zie Beleid voor automatische reparaties inschakelen bij het bijwerken van een bestaande schaalset voor meer informatie.
Als dat het serviceState
is Suspended
, gaat u naar Automatische reparaties zijn onderbroken in de schaalset vanwege te veel mislukte reparaties.
Statuscontrole is niet juist geconfigureerd in de schaalset
Als alle exemplaren in de schaalset worden weergegeven als 'Niet in orde', kan het een teken zijn dat uw statuscontroletest niet juist is geconfigureerd tijdens de installatie. Zorg ervoor dat uw toepassing de verwachte HTTP/HTTPS/TCP-antwoorden verzendt naar de geconfigureerde eindpunten.
Als u de status 'In orde' wilt bereiken, vereisen de statustests van de toepassingsstatus of statustests van de load balancer minimaal een 2xx HTTP(S)-antwoord of een geslaagd TCP-handshake van uw toepassing op het geconfigureerde eindpunt. Als het verwachte antwoord niet wordt ontvangen, wordt de status 'Niet in orde' gerapporteerd. Zorg ervoor dat de juiste statussignalen worden verzonden door uw toepassing naar het opgegeven eindpunt.
Zie Custom Probes voor Load Balancer voor meer informatie over de verwachte TCP/HTTP(S)-antwoorden voor load balancer-statustests.
Voor meer informatie over de verwachte TCP/HTTP(S)-antwoorden voor tests voor toepassingsstatusuitbreidingen, raadpleegt u de sectie 'Eindpunt configureren om de status te bieden' in Vereisten voor het gebruik van automatische exemplaarreparaties.
Het exemplaar is gemarkeerd als beschadigd vanwege een inrichtingsfout
Gebruik De weergave Exemplaar ophalen met de API-versie 2019-12-01 of hoger voor de VMSS om de inrichtingsstatus van de instanties onder statusesSummary
virtualMachine
de eigenschap weer te geven.
REST-API
GET '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView?api-version=2019-12-01'
"virtualMachine": {
"statusesSummary": [
{
"code": "ProvisioningState/succeeded",
"count": 2
}
]
}
Als u een ProvisioningState/failed
code hebt onder statusesSummary
, verwijdert u het mislukte exemplaar en voegt u een nieuw exemplaar toe aan uw schaalset. Exemplaarreparaties bieden momenteel geen ondersteuning voor scenario's waarbij een virtuele machine als 'Beschadigd' wordt gemarkeerd vanwege een inrichtingsfout.
Zie VM's verwijderen uit een schaalset om het mislukte exemplaar uit uw schaalset te verwijderen.
Zie De capaciteit van een schaalset wijzigen om een nieuw exemplaar toe te voegen aan uw schaalset.
Automatische reparaties zijn onderbroken in de schaalset vanwege te veel mislukte reparaties
Als uw toepassing na herhaalde reparatiepogingen een signaal 'Beschadigd' blijft verzenden, zal het platform de reparaties van het exemplaar uiteindelijk onderbreken als veiligheidsmaatregel door het serviceState
voor automatische reparaties te Suspended
wijzigen in .
Bevestig het serviceState
beleid voor automatische reparaties. Zie Hiervoor de servicestatus van het beleid voor automatische exemplaarreparaties weergeven en bijwerken.
Als dit het serviceState
geval is Suspended
, hervat u automatische reparaties door de serviceState
back-up bij te Running
werken met behulp van de setOrchestrationServiceState
API en cmdlet-voorbeelden in Het weergeven en bijwerken van de servicestatus van het beleid voor automatische exemplaarherstel.
Het exemplaar bevindt zich in de respijtperiode
Als geen van de bovenstaande oorzaken van toepassing is op het probleem, kan het exemplaar zich in de respijtperiode bevinden.
De respijtperiode is de hoeveelheid tijd die automatische reparaties wachten na een statuswijziging op het exemplaar voordat reparaties worden uitgevoerd, waardoor voortijdige of onopzettelijke reparaties worden voorkomen. De herstelactie moet plaatsvinden zodra de respijtperiode voor het exemplaar is voltooid. Zie Respijtperiode voor meer informatie over de respijtperiode voor automatische reparaties.
Contacteer ons voor hulp
Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.