Establiu límits segurs per a l'autorecuperació
CompletadaAutomatitzeu accions de recuperació conegudes amb facultats explícites, verificació i condicions d'aturada. Separeu la recuperació en execució dels canvis de programari.
Publicat per TaigaCom escrivim
Comproveu què heu entèsEl controlador ha reiniciat un procés de treball dues vegades. La cua continua creixent i no es pot accedir a la base de dades. Què ha de fer la política?Feu l'exercici
Què aprendreu
- Distingiu l'autorecuperació d'una correcció permanent del programari.
- Definiu una política de recuperació limitada i comprovacions independents del resultat.
- Identifiqueu quan l'automatització s'ha d'aturar i escalar el problema.
Recupereu una condició coneguda
L’autorecuperació detecta automàticament una fallada definida i intenta una acció de recuperació autoritzada. Reiniciar un procés que ha fallat o substituir una instància que no funciona correctament en poden ser exemples. L’acció ha de ser adequada per a la fallada i per al model d’estat del servei.
Kubernetes pot substituir instàncies fallides de càrregues de treball i reconciliar l’estat declarat. Això no corregeix una lògica d’aplicació defectuosa ni totes les fallades d’emmagatzematge. La recuperació de la infraestructura i el funcionament correcte del programari necessiten comprovacions diferents. Autorecuperació de Kubernetes.
Definiu l’objectiu abans del mecanisme. Restablir una exportació vol dir que la feina que compleix els criteris acaba correctament. Un contenidor en execució només és una de les condicions prèvies.
Separeu tres tipus de canvi
| Canvi | Exemple | Decisió requerida |
|---|---|---|
| Recuperació en execució | Substituir un procés de treball sense estat que ha fallat | Una política de recuperació aprovada prèviament pot autoritzar-ho |
| Correcció de programari | Corregir la fuita de memòria que atura el procés de treball | Revisió, proves, controls de publicació i verificació en producció |
| Canvi de política | Augmentar la freqüència de reinicis permesa o l’abast d’accés | Aprovació explícita del responsable de la política |
Un agent pot proposar una correcció després de la recuperació. Aquesta proposta és un nou canvi de programari. No ha d’heretar facultats il·limitades del controlador de recuperació.
El controlador tampoc no ha d’editar els seus propis criteris d’èxit quan falla una comprovació. Si ho fes, el sistema podria informar d’una millora sense millorar el servei.
Escriviu la política de recuperació abans d’activar-la
La política següent és fictícia. Les xifres il·lustren decisions de disseny; no són valors predeterminats recomanats.
| Camp de la política | Regla fictícia del procés de treball d’exportació |
|---|---|
| Desencadenant | Falta el senyal de vida del procés de treball durant 90 segons i hi ha feina a la cua |
| Condicions prèvies | Un altre procés de treball funciona correctament; se superen les comprovacions de dependències; no hi ha sospites de compromís de seguretat ni de fallada d’integritat |
| Acció permesa | Substituir un procés de treball amb l’artefacte aprovat actualment |
| Protecció de l’estat | Les tasques fan servir emmagatzematge durador i una clau d’idempotència verificada |
| Límit | Com a màxim dues substitucions en 15 minuts; mai més d’una alhora |
| Temps d’espera | Esperar cinc minuts després de la substitució abans d’un altre intent |
| Èxit | Una tasca sintètica acaba correctament i la cua afectada comença a buidar-se |
| Aturada i escalat | Falla qualsevol condició prèvia, s’arriba al límit o no es pot verificar l’èxit |
Feu servir una identitat amb els privilegis mínims. Registreu la versió de la política, les evidències del desencadenant, l’acció, el recurs i el resultat. Proporcioneu una via independent per desactivar el controlador. Definiu el responsable humà que rep l’escalat.
Proveu les vies de fallada i la recuperació reeixida
Un reintent pot repetir un efecte secundari. Un procés de treball podria desar un fitxer i aturar-se abans de confirmar la tasca. Verifiqueu la idempotència abans de permetre una altra execució. Vegeu l’exemple de fallada cloud native.
Els reintents també poden amplificar la sobrecàrrega d’una dependència. Feu servir intents limitats, temps d’espera màxims i pauses progressives adequades. Eviteu els reintents sincronitzats a tot el conjunt de processos. AWS explica per què les pauses progressives i la variació aleatòria ajuden a reduir aquesta amplificació. Directrius sobre reintents.
Proveu la política fictícia amb tres casos. Un únic procés de treball aturat s’hauria de recuperar. Una caiguda de la base de dades hauria d’impedir la substitució repetida. Una fallada d’integritat incerta hauria d’aturar l’automatització i sol·licitar una decisió de resposta.
Comproveu també la telemetria absent. L’absència d’un senyal de vida pot significar una fallada del procés de treball o de la via de recollida. El controlador necessita evidències suficients per a la seva acció, no confiança en una explicació d’IA.
Mesureu si la política ajuda
Registreu les recuperacions verificades, els intents sense èxit, els escalats, la feina duplicada i el temps amb impacte sobre els usuaris. Compareu-los amb el mètode operatiu anterior en condicions similars.
Manteniu el defecte subjacent com a feina d’enginyeria pendent. Reiniciar repetidament un procés amb una fuita pot reduir l’impacte immediat mentre la fuita continua. Continueu amb l’automillora per connectar l’observació amb una correcció duradora.
Feu l'exercici
Dissenyeu una política de recuperació per al procés de treball d'exportació fictici d'aquesta lliçó. Especifiqueu el desencadenant, les exclusions, l'acció permesa, el límit de reintents, el temps d'espera entre intents, la comprovació del resultat i el responsable d'escalat. Proveu-la davant d'una caiguda de la base de dades i d'una fallada desconeguda d'integritat de les dades.
Descarrega la fitxa (Markdown)Desmarcar aquesta opció elimina tot el progrés desat en aquest navegador.
El progrés es queda en aquest navegador. Sense compte ni seguiment.
Fonts i lectures addicionals
- Kubernetes: Self-Healing ↗
- AWS Builders’ Library: Timeouts, retries, and backoff with jitter ↗
- Google SRE: Automation at Google ↗