Kryptis 05Pamoka 7 / 8

Nustatykite saugias self-healing ribas

Automatizuokite žinomus atkūrimo veiksmus su aiškiais įgaliojimais, patikrinimu ir sustabdymo sąlygomis. Atskirkite vykdymo aplinkos atkūrimą nuo programinės įrangos keitimo.

Pažengusiųjų12 minPeržiūrėta

Leidžia Kaip rašome

Patikrinkite, ar supratoteValdiklis du kartus paleido vykdymo procesą iš naujo. Eilė toliau auga, o duomenų bazė nepasiekiama. Ką turi numatyti taisyklė?Atlikite užduotį
Valdiklis du kartus paleido vykdymo procesą iš naujo. Eilė toliau auga, o duomenų bazė nepasiekiama. Ką turi numatyti taisyklė?

Ko išmoksite

  • Atskirkite self-healing nuo ilgalaikės programinės įrangos pataisos.
  • Apibrėžkite ribotą atkūrimo taisyklę ir nepriklausomus sėkmės patikrinimus.
  • Atpažinkite, kada automatizavimas turi sustoti ir eskaluoti.

Atkurkite žinomą būseną

Self-healing automatiškai aptinka apibrėžtą gedimą ir bando atlikti leistiną atkūrimo veiksmą. Pavyzdžiai gali būti sugedusio proceso paleidimas iš naujo ar neveiksnaus egzemplioriaus pakeitimas. Veiksmas turi atitikti gedimą ir paslaugos būsenos modelį.

Kubernetes gali pakeisti sugedusius darbo krūvio egzempliorius ir palaikyti deklaruotą būseną. Tai netaiso klaidingos programos logikos ar kiekvieno saugyklos gedimo. Infrastruktūros atkūrimui ir programinės įrangos teisingumui reikia skirtingų patikrinimų. Kubernetes self-healing.

Apibrėžkite tikslą prieš mechanizmą. Atkurti eksportą reiškia, kad tinkamas darbas teisingai užbaigiamas. Veikiantis konteineris yra tik viena išankstinė sąlyga.

Atskirkite tris pakeitimų rūšis

PakeitimasPavyzdysBūtinas sprendimas
Vykdymo aplinkos atkūrimasPakeisti vieną sugedusį būsenos nesaugantį vykdymo procesąTai gali leisti iš anksto patvirtinta atkūrimo taisyklė
Programinės įrangos pataisaPataisyti atminties nuotėkį, kuris sustabdo vykdymo procesąPeržiūra, testai, išleidimo kontrolės priemonės ir produkcinis patikrinimas
Taisyklių pakeitimasPadidinti leidžiamą paleidimų iš naujo dažnį ar prieigos apimtįAiškus už taisykles atsakingo asmens patvirtinimas

Agentas po atkūrimo gali pasiūlyti pataisą. Toks pasiūlymas yra naujas programinės įrangos pakeitimas. Jis neturi paveldėti neribotų įgaliojimų iš atkūrimo valdiklio.

Valdiklis taip pat neturi keisti savo sėkmės kriterijų, kai patikrinimas nepavyksta. Antraip sistema gali pranešti apie pagerėjimą nepagerindama paslaugos.

Užrašykite atkūrimo taisykles prieš jas įjungdami

Toliau pateiktos taisyklės yra išgalvotos. Jų skaičiai iliustruoja projektavimo pasirinkimus; tai nėra rekomenduojamos numatytosios reikšmės.

Taisyklės laukasIšgalvota eksporto vykdymo proceso taisyklė
Paleidimo sąlyga90 sekundžių negaunamas vykdymo proceso gyvybingumo signalas ir eilėje yra darbo
Išankstinės sąlygosKitas vykdymo procesas veiksnus; priklausomybių patikrinimai sėkmingi; nėra įtariamo kompromitavimo ar vientisumo klaidos
Leidžiamas veiksmasPakeisti vieną vykdymo procesą naudojant šiuo metu patvirtintą artefaktą
Būsenos apsaugaUžduotys naudoja ilgalaikę saugyklą ir patikrintą idempotentiškumo raktą
RibaDaugiausia du pakeitimai per 15 minučių; niekada daugiau nei vienas vienu metu
Laukimo tarpasPo pakeitimo laukti penkias minutes prieš kitą bandymą
SėkmėSintetinė užduotis užbaigiama teisingai, o paveikta eilė pradeda mažėti
Sustabdyti ir eskaluotiNeįvykdyta bet kuri išankstinė sąlyga, pasiekta riba arba neįmanoma patikrinti sėkmės

Naudokite mažiausias būtinas teises turinčią tapatybę. Registruokite taisyklių versiją, paleidimo įrodymus, veiksmą, išteklių ir rezultatą. Suteikite nepriklausomą būdą išjungti valdiklį. Įvardykite atsakingą žmogų, kuris gauna eskalavimą.

Testuokite nesėkmės kelius ir sėkmingą atkūrimą

Pakartotinis bandymas gali pakartoti šalutinį poveikį. Vykdymo procesas gali išsaugoti failą ir sustoti prieš patvirtindamas užduotį. Prieš leisdami kitą vykdymą, patikrinkite idempotentiškumą. Žr. cloud native sutrikimo pavyzdį.

Pakartotiniai bandymai taip pat gali dar labiau apkrauti perkrautą priklausomybę. Naudokite ribotą bandymų skaičių, laukimo terminus ir tinkamai didinamą delsą. Venkite sinchroniškų pakartotinių bandymų visuose egzemplioriuose. AWS paaiškina, kodėl didėjanti delsa ir atsitiktinis jos kitimas padeda sumažinti šį sustiprinimą. Pakartotinių bandymų gairės.

Išbandykite išgalvotas taisykles trimis atvejais. Vienas sustojęs vykdymo procesas turėtų būti atkurtas. Duomenų bazės neveikimas turėtų neleisti kartotinių pakeitimų. Neaiški vientisumo klaida turėtų sustabdyti automatizavimą ir pareikalauti reagavimo sprendimo.

Taip pat patikrinkite trūkstamą telemetriją. Gyvybingumo signalo nebuvimas gali reikšti sugedusį vykdymo procesą arba sugedusį rinkimo kelią. Valdikliui reikia jo veiksmui pakankamų įrodymų, o ne pasitikėjimo DI paaiškinimu.

Matuokite, ar taisyklės padeda

Registruokite patikrintus atkūrimus, nesėkmingus bandymus, eskalavimus, dubliuotą darbą ir laiką, kai naudotojai patiria poveikį. Palyginkite su ankstesniu eksploatavimo būdu panašiomis sąlygomis.

Pagrindinę klaidą palikite kaip inžinerinį darbą. Pakartotinai paleidžiant atmintį prarandantį procesą galima sumažinti tiesioginį poveikį, nors nuotėkis tęsiasi. Toliau skaitykite apie self-improvement, kad susietumėte stebėjimą su ilgalaike pataisa.

Atlikite užduotį

Suprojektuokite šios pamokos išgalvoto eksporto vykdymo proceso atkūrimo taisykles. Nurodykite paleidimo sąlygą, išimtis, leidžiamą veiksmą, bandymų ribą, laukimo tarpą, sėkmės patikrinimą ir už eskalavimą atsakingą asmenį. Išbandykite jas duomenų bazės neveikimo ir nežinomos duomenų vientisumo klaidos atvejais.

Atsisiųsti užduoties lapą (Markdown)
Patikrinkite, ar supratote ↑

Mokykitės toliau

Šaltiniai ir papildoma literatūra

Susijęs Taiga turinys

← Ankstesnė pamoka: Susiekite pristatymą su SOC ir SIRT