Wystąpienia zestawu skalowania maszyn wirtualnych platformy Azure nie są naprawiane nawet wtedy, gdy zasady automatycznej naprawy są włączone
Wystąpienia usługi Azure VMSS pozostają w stanie "W złej kondycji" i nie są naprawiane nawet wtedy, gdy zasady automatycznej naprawy są włączone. Ten artykuł zawiera możliwe przyczyny i odpowiednie rozwiązania tego problemu:
- Zasady automatycznej naprawy nie są poprawnie włączone w zestawie skalowania.
- Monitorowanie kondycji nie jest poprawnie skonfigurowane w zestawie skalowania.
- Wystąpienie jest oznaczone jako w złej kondycji z powodu niepowodzenia aprowizacji.
- Automatyczne naprawy zostały zawieszone w zestawie skalowania z powodu zbyt wielu nieudanych napraw.
- Wystąpienie jest w okresie prolongaty.
Zasady automatycznej naprawy nie są poprawnie włączone w zestawie skalowania
Upewnij się, że usługa VMSS została wybrana do automatycznego naprawiania, wyświetlając jego stan usługi.
orchestrationServices
W ramach właściwości, jeśli w serviceState
przypadku automatycznych napraw jest Running
, usługa VMSS zostanie wybrana do automatycznych napraw.
serviceState
Jeśli właściwość jest NotRunning
lub zasady automatycznej naprawy nie są wyświetlane w orchestrationServices
ramach właściwości, należy włączyć zasady automatycznych napraw w zestawie skalowania. Aby uzyskać więcej informacji, zobacz Włączanie zasad automatycznych napraw podczas aktualizowania istniejącego zestawu skalowania.
Jeśli parametr serviceState
ma Suspended
wartość , przejdź do pozycji Automatyczne naprawy zostały zawieszone w zestawie skalowania z powodu zbyt wielu nieudanych napraw.
Monitorowanie kondycji nie jest poprawnie skonfigurowane w zestawie skalowania
Jeśli wszystkie wystąpienia w zestawie skalowania są wyświetlane jako "W złej kondycji", może to być znak, że sonda monitorowania kondycji nie jest poprawnie skonfigurowana podczas instalacji. Upewnij się, że aplikacja emituje oczekiwane odpowiedzi HTTP/HTTPS/TCP do skonfigurowanych punktów końcowych.
Aby osiągnąć stan "W dobrej kondycji", sondy kondycji aplikacji lub sondy kondycji modułu równoważenia obciążenia wymagają co najmniej odpowiedzi HTTP(S) 2xx lub pomyślnego uzgadniania TCP z aplikacji w skonfigurowanym punkcie końcowym. Jeśli oczekiwana odpowiedź nie zostanie odebrana, zostanie zgłoszony stan "W złej kondycji". Upewnij się, że prawidłowe sygnały kondycji są emitowane przez aplikację do podanego punktu końcowego.
Aby uzyskać więcej informacji na temat oczekiwanych odpowiedzi PROTOKOŁU TCP/HTTP dla sond kondycji modułu równoważenia obciążenia, zobacz Load Balancer Custom Probes (Sondy niestandardowe modułu równoważenia obciążenia).
Aby uzyskać więcej informacji na temat oczekiwanych odpowiedzi PROTOKOŁU TCP/HTTP dla sond rozszerzeń kondycji aplikacji, zobacz sekcję "Konfigurowanie punktu końcowego w celu zapewnienia stanu kondycji" w temacie Wymagania dotyczące korzystania z automatycznych napraw wystąpień.
Wystąpienie jest oznaczone jako w złej kondycji z powodu niepowodzenia aprowizacji
Użyj polecenia Pobierz widok wystąpienia z interfejsem API w wersji 2019-12-01 lub nowszej dla zestawu skalowania maszyn wirtualnych, aby wyświetlić stan aprowizacji wystąpień w obszarze statusesSummary
z virtualMachine
właściwości .
Interfejs API REST
GET '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView?api-version=2019-12-01'
"virtualMachine": {
"statusesSummary": [
{
"code": "ProvisioningState/succeeded",
"count": 2
}
]
}
Jeśli masz ProvisioningState/failed
kod w obszarze statusesSummary
, usuń wystąpienie, które zakończyło się niepowodzeniem, i dodaj nowe wystąpienie do zestawu skalowania. Naprawy wystąpień obecnie nie obsługują scenariuszy, w których maszyna wirtualna jest oznaczona jako "W złej kondycji" z powodu niepowodzenia aprowizacji.
Aby usunąć wystąpienie, które zakończyło się niepowodzeniem z zestawu skalowania, zobacz Usuwanie maszyn wirtualnych z zestawu skalowania.
Aby dodać nowe wystąpienie do zestawu skalowania, zobacz Zmienianie pojemności zestawu skalowania.
Automatyczne naprawy zostały zawieszone w zestawie skalowania z powodu zbyt wielu nieudanych napraw
Jeśli aplikacja będzie nadal emitować sygnał "W złej kondycji" po wielokrotnych próbach naprawy, platforma ostatecznie zawiesi naprawy wystąpień jako środek bezpieczeństwa, zmieniając element serviceState
na potrzeby automatycznych napraw na Suspended
.
serviceState
Potwierdź zasady automatycznej naprawy. Aby to zrobić, zobacz Wyświetlanie i aktualizowanie stanu usługi zasad automatycznych napraw wystąpień.
Jeśli element serviceState
to Suspended
, wznów automatyczne naprawy, aktualizując serviceState
z powrotem do Running
przy użyciu interfejsu setOrchestrationServiceState
API i przykładów poleceń cmdlet w temacie Wyświetlanie i aktualizowanie stanu usługi zasad automatycznego naprawiania wystąpień.
Wystąpienie jest w okresie prolongaty
Jeśli żadna z powyższych przyczyn nie ma zastosowania do problemu, wystąpienie może być w okresie prolongaty.
Okres prolongaty to czas, przez który automatyczne naprawy będą czekać po zmianie stanu wystąpienia przed wykonaniem napraw, co pomaga uniknąć przedwczesnych lub przypadkowych napraw. Akcja naprawy powinna nastąpić po zakończeniu okresu prolongaty dla wystąpienia. Aby uzyskać więcej informacji na temat ustawienia okresu prolongaty na potrzeby automatycznych napraw, zobacz Okres prolongaty.
Skontaktuj się z nami, aby uzyskać pomoc
Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.