Azure Virtual Machine Scale Set-Instanzen werden nicht repariert, auch wenn die Richtlinie für automatische Reparaturen aktiviert ist
Azure VMSS-Instanzen verbleiben im Zustand "Ungesund" und werden selbst dann nicht repariert, wenn die Richtlinie für automatische Reparaturen aktiviert ist. Dieser Artikel enthält mögliche Ursachen und entsprechende Lösungen für dieses Problem:
- Die Richtlinie für automatische Reparaturen ist im Skalierungssatz nicht ordnungsgemäß aktiviert.
- Die Integritätsüberwachung ist im Skalierungssatz nicht ordnungsgemäß konfiguriert.
- Die Instanz ist aufgrund eines Bereitstellungsfehlers als fehlerhaft gekennzeichnet.
- Automatische Reparaturen wurden aufgrund zu vieler fehlerhafter Reparaturen im Maßstabssatz angehalten.
- Die Instanz befindet sich in ihrer Karenzzeit.
Die Richtlinie für automatische Reparaturen ist im Skalierungssatz nicht ordnungsgemäß aktiviert.
Vergewissern Sie sich, dass Ihr VMSS für automatische Reparaturen aktiviert ist, indem Sie den Dienststatus anzeigen.
orchestrationServices
Wenn dies serviceState
für automatische Reparaturen der Eigenschaft ist, wird Running
der VMSS für automatische Reparaturen aktiviert.
Wenn die serviceState
Richtlinie NotRunning
für automatische Reparaturen nicht unter der orchestrationServices
Eigenschaft angezeigt wird, müssen Sie die Richtlinie für automatische Reparaturen im Skalierungssatz aktivieren. Weitere Informationen finden Sie unter Aktivieren der Richtlinie für automatische Reparaturen beim Aktualisieren eines vorhandenen Skalierungssatzes.
Wenn ja serviceState
Suspended
, gehen Sie zu " Automatische Reparaturen" im Maßstabssatz aufgrund zu vieler fehlgeschlagener Reparaturen ausgesetzt.
Die Integritätsüberwachung ist im Skalierungssatz nicht ordnungsgemäß konfiguriert.
Wenn alle Instanzen in der Skalierungseinrichtung als "Unhealthy" angezeigt werden, kann es sich um ein Zeichen sein, dass Ihre Integritätsüberwachungssonde während des Setups nicht ordnungsgemäß konfiguriert ist. Stellen Sie sicher, dass Ihre Anwendung die erwarteten HTTP/HTTPS/TCP-Antworten an die konfigurierten Endpunkte sendet.
Um einen Status "Fehlerfrei" zu erreichen, benötigen die Integritätserweiterungssonden der Anwendung oder die Integritätssonden für den Lastenausgleich mindestens eine 2xx HTTP(S)-Antwort oder einen erfolgreichen TCP-Handshake von Ihrer Anwendung am konfigurierten Endpunkt. Wenn die erwartete Antwort nicht empfangen wird, wird ein Status "Ungesund" gemeldet. Stellen Sie sicher, dass die richtigen Integritätssignale von Ihrer Anwendung an den bereitgestellten Endpunkt ausgegeben werden.
Weitere Informationen zu den erwarteten TCP/HTTP(S)-Antworten für Lastenausgleichs-Integritätssonden finden Sie unter Load Balancer Custom Probes.
Weitere Informationen zu den erwarteten TCP/HTTP(S)-Antworten für Anwendungsintegritätserweiterungssonden finden Sie im Abschnitt "Konfigurieren des Endpunkts zum Bereitstellen des Integritätsstatus" in den Anforderungen für die Verwendung von automatischen Instanzreparaturen.
Die Instanz ist aufgrund eines Bereitstellungsfehlers als fehlerhaft gekennzeichnet.
Verwenden Sie "Instanzansicht abrufen" mit der API-Version 2019-12-01 oder höher für vmSS, um den Bereitstellungsstatus der Instanzen aus statusesSummary
der virtualMachine
Eigenschaft anzuzeigen.
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
}
]
}
Wenn Sie über einen ProvisioningState/failed
Code verfügen statusesSummary
, löschen Sie die fehlgeschlagene Instanz, und fügen Sie ihrer Skalierungsgruppe eine neue Instanz hinzu. Instanzenreparaturen unterstützen derzeit keine Szenarien, in denen ein virtueller Computer aufgrund eines Bereitstellungsfehlers als "fehlerhaft" gekennzeichnet ist.
Informationen zum Entfernen der fehlgeschlagenen Instanz aus ihrem Skalierungssatz finden Sie unter Entfernen von virtuellen Computern aus einem Skalierungssatz.
Informationen zum Hinzufügen einer neuen Instanz zu Ihrem Skalierungssatz finden Sie unter Ändern der Kapazität eines Skalierungssatzes.
Automatische Reparaturen wurden aufgrund zu vieler fehlerhafter Reparaturen im Maßstabssatz angehalten.
Wenn Ihre Anwendung nach wiederholten Reparaturversuchen weiterhin ein "Unhealthy"-Signal ausgibt, hält die Plattform Instanzreparaturen schließlich als Sicherheitsmaßnahme an, indem sie die serviceState
automatischen Reparaturen Suspended
ändern.
Bestätigen Sie die serviceState
Richtlinie für automatische Reparaturen. Informationen hierzu finden Sie unter Anzeigen und Aktualisieren des Dienststatus der Richtlinie für automatische Instanzenreparaturen.
Wenn dies der serviceState
Fall ist Suspended
, setzen Sie die automatischen Reparaturen fort, indem Sie die serviceState
zurück Running
auf die setOrchestrationServiceState
API- und Cmdlet-Beispiele in " Anzeigen" aktualisieren und den Dienststatus der Richtlinie für automatische Instanzenreparaturen aktualisieren.
Die Instanz befindet sich in der Karenzzeit
Wenn keine der oben genannten Ursachen auf das Problem anwendbar ist, könnte die Instanz in ihrer Karenzzeit liegen.
Die Karenzzeit ist die Zeitspanne, in der automatische Reparaturen nach einer Zustandsänderung auf die Instanz warten, bevor Sie Reparaturen durchführen, wodurch vorzeitige oder versehentliche Reparaturen vermieden werden können. Die Reparaturaktion sollte durchgeführt werden, sobald die Toleranzperiode für die Instanz abgeschlossen ist. Weitere Informationen zur Nachfristeinstellung für automatische Reparaturen finden Sie unter "Karenzzeit".
Kontaktieren Sie uns für Hilfe
Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.