Sea iseparanemisele ohutud piirid
Automatiseeri teadaolevad taastamistoimingud selgete volituste, kontrolli ja peatamistingimustega. Erista käitusaegset taastamist tarkvara muutmisest.
Avaldaja TaigaKuidas me kirjutame
Mida õpid
- Erista iseparanemist püsivast tarkvaraparandusest.
- Määra piiratud taastamisreeglid ja sõltumatud edukontrollid.
- Tuvasta, millal automatiseerimine peab peatuma ja eskaleerima.
Taasta teadaolev seisund
Iseparanemine ehk self-healing tuvastab automaatselt määratud tõrke ja proovib lubatud taastamistoimingut. Näiteks ebaõnnestunud protsessi taaskäivitamine või tõrkega eksemplari asendamine. Tegevus peab sobima tõrke ja teenuse olekumudeliga.
Kubernetes saab asendada ebaõnnestunud töökoormuse eksemplare ja viia tegeliku oleku deklareeritud olekuga vastavusse. See ei paranda vigast rakendusloogikat ega iga salvestustõrget. Taristu taastamine ja tarkvara õigsus vajavad erinevaid kontrolle. Kubernetese iseparanemine.
Määra eesmärk enne mehhanismi. Ekspordi taastamine tähendab, et sobiv töö lõpeb õigesti. Töötav konteiner on ainult üks eeltingimus.
Erista kolme tüüpi muudatust
| Muudatus | Näide | Vajalik otsus |
|---|---|---|
| Käitusaegne taastamine | Asenda üks ebaõnnestunud olekuta tööprotsess | Seda võivad lubada eelnevalt heaks kiidetud taastamisreeglid |
| Tarkvaraparandus | Paranda tööprotsessi peatav mäluleke | Ülevaatus, testid, väljalaskekontrollid ja tootmiskeskkonna kontroll |
| Reeglimuudatus | Suurenda lubatud taaskäivitussagedust või juurdepääsu ulatust | Reeglite vastutaja selgesõnaline heakskiit |
Agent võib pärast taastamist parandust pakkuda. See ettepanek on uus tarkvaramuudatus. See ei tohi pärida taastamiskontrollerilt piiramatuid volitusi.
Kontroller ei tohi kontrolli ebaõnnestumisel ka ise oma edukriteeriume muuta. Vastasel korral saab süsteem teatada paranemisest teenust parandamata.
Kirjuta taastamisreeglid enne nende kasutuselevõttu
Järgmised reeglid on väljamõeldud. Nende arvud illustreerivad kavandamisvalikuid; need ei ole soovitatud vaikeväärtused.
| Reegliväli | Väljamõeldud ekspordi tööprotsessi reegel |
|---|---|
| Käivitaja | Tööprotsessi elusolekusignaal puudub 90 sekundit ja järjekorras on tööd |
| Eeltingimused | Teine tööprotsess on terve; sõltuvuskontrollid õnnestuvad; pole kompromiteerimise ega tervikluse tõrke kahtlust |
| Lubatud tegevus | Asenda üks tööprotsess praegu heaks kiidetud artefaktiga |
| Oleku kaitse | Tööd kasutavad püsivat salvestust ja kontrollitud idempotentsusvõtit |
| Piir | Kuni kaks asendamist 15 minuti jooksul; mitte kunagi üle ühe korraga |
| Ooteaeg | Oota pärast asendamist viis minutit enne uut katset |
| Edu | Sünteetiline töö lõpeb õigesti ja mõjutatud järjekord hakkab tühjenema |
| Peata ja eskaleeri | Mõni eeltingimus ebaõnnestub, piir saab täis või edu ei saa kontrollida |
Kasuta vähimate õigustega identiteeti. Logi reeglite versioon, käivitaja tõendid, tegevus, ressurss ja tulemus. Paku sõltumatut viisi kontrolleri keelamiseks. Määra eskalatsiooni saav inimene.
Katseta nii tõrketeid kui ka edukat taastumist
Korduskatse võib korrata kõrvalmõju. Tööprotsess võib salvestada faili ja peatuda enne töö kinnitamist. Kontrolli idempotentsust enne uue täitmise lubamist. Vaata cloud native’i tõrkenäidet.
Korduskatsed võivad ka ülekoormatud sõltuvuse koormust võimendada. Kasuta piiratud katseid, ajalõppe ja sobivat kasvavat ooteaega. Väldi sünkroonseid korduskatseid kogu süsteemis. AWS selgitab, miks kasvav ooteaeg ja juhuslik ajanihe aitavad seda võimendust vähendada. Korduskatsete juhend.
Katseta väljamõeldud reegleid kolme juhtumiga. Üks peatunud tööprotsess peaks taastuma. Andmebaasikatkestus peaks takistama korduvat asendamist. Ebaselge tervikluse tõrge peaks automatiseerimise peatama ja küsima reageerimisotsust.
Kontrolli ka puuduvat telemeetriat. Elusolekusignaali puudumine võib tähendada tööprotsessi või kogumistee tõrget. Kontroller vajab oma tegevuseks piisavaid tõendeid, mitte kindlust AI selgituses.
Mõõda, kas reeglid aitavad
Pane kirja kontrollitud taastumised, ebaõnnestunud katsed, eskalatsioonid, dubleeritud töö ja kasutajamõjuga aeg. Võrdle neid sarnastes tingimustes varasema käitusviisiga.
Säilita aluseks olev viga arendustööna. Lekkiva protsessi korduv taaskäivitamine võib vähendada vahetut mõju, kuid leke jätkub. Jätka enesetäiustamisega, et siduda tähelepanek püsiva parandusega.
Tee harjutus
Kavanda selle õppetunni väljamõeldud ekspordi tööprotsessile taastamisreeglid. Määra käivitaja, välistused, lubatud tegevus, korduskatsete piir, ooteaeg, edukontroll ja eskalatsiooni vastutaja. Katseta neid andmebaasikatkestuse ja tundmatu andmetervikluse tõrke korral.
Laadi tööleht alla (Markdown)Kontrolli oma arusaamist
Allikad ja lisalugemine
- Kubernetes: Self-Healing ↗
- AWS Builders’ Library: Timeouts, retries, and backoff with jitter ↗
- Google SRE: Automation at Google ↗
Seotud lugemine Taigalt
Selle valiku tühjendamine kustutab kogu selles brauseris salvestatud edenemise.
Edenemine jääb sellesse brauserisse. Kontot ega jälgimist pole.