Ühekordne kujutisest käivitamine ei muuda Pi-d ülesehitatavaks seadmeks. Vaja on väikest sisendite kogumit, mida saab uuesti rakendada: hooldatud alus, deklareeritud konfiguratsioon, rakenduse püsivad andmed ja seadme identiteet, mis kuulub ainult sellele plaadile. Viimase vahelejätmisel muutub iga asendus volituse klooniks.

Alljärgnevad sammud on tööjärjekord, mitte tööriista soovitus. Sobib iga konfiguratsioonisüsteem, mis suudab neid väljendada.

Loetlege esmalt neli sisenditüüpi

Aluskujutis ja selle paketid määravad operatsioonisüsteemi, arhitektuuri ja selle, kust uuendused tulevad, ning kujutise ehitaja aitab ainult siis, kui selle nimetatud tööriista hooldatakse endiselt teie väljalaske jaoks. Deklareeritud konfiguratsioon on osa, mida inimene üle vaatab: võrgu rollid, teenuse seaded ja elutsükli toimingud, mida iga teenus vajab. Rakenduse püsivad andmed on kõik, mida teenus ei suuda uuesti genereerida, ning nende asukoht ja varundusmeetod kuuluvad sellele rakendusele, mitte kujutisele. Seadme identiteedid ja saladused on neljas sisend ja just need ununevad, kui töötav kaart kloonitakse.

Kirjutage need neli nimekirja enne, kui midagi üles ehitate. Nimekiri tühja reaga on otsus, mida te veel teinud pole.

Hoidke saladused hoidlast väljas ja öelge, kus need elavad

Hoidla on hea kodu üle vaadatud mallidele ja mitte-salajasele konfiguratsioonile ning halb kodu VPN-i privaatvõtmetele, korduvkasutatavatele administraatori volitustele ja diagnostikaarhiividele. Kui saladus peab seadmes olema, kirjutage üles, kust see tuleb, kes seda lugeda tohib ja kuidas seda roteeritakse. Võti, mis elab ainult ühel SD-kaardil, on üksik tõrkepunkt, samas kui igale plaadile kopeeritud võti on omanikuta kogu parve volitus. Kumbki pole taastamisplaan.

Test on lihtne: kui hoidla homme lekiks, mida ründaja võidaks? Mallid ja topoloogiamärkmed jäävad püsima. Töötav identiteet mitte.

Laske automatiseerimisel omada seda, mida saab uuesti käivitada

Ansible’i mudel hoiab hallatavate sõlmede inventari eraldi näidenditest, ülesannetest, rollidest ja käsitlejatest, mis käivituvad, kui ülesanne teatab muudatusest. Kasutage seda struktuuri, et anda igale teenusele üks konfiguratsiooni omanik, selle asemel et shelli ajalugu uuesti esitada. Eelistage toiminguid, mida on ohutu kaks korda käivitada, ja otsustage teadlikult, kuidas muudetud fail jooksvase protsessini jõuab. Ülesanne, mis tagab teenuse käivitamise, ei pane seda tingimata uuesti laadima konfiguratsiooni, mille just ümber kirjutasite.

Eraldage ka haldamise etapid. Algne ühenduvus, tavaline konfiguratsioon ja VPN-ist sõltuv haldus on kolm erinevat akent ning kolmas võib teie enda juurdepääsu eemaldada, kui ülesehitus lähtestab selle all oleva võrgu. Hoidke sõltumatu sissepääs.

Taastage andmed ja identiteet sihikindlalt

Konteineri mahud püsivad konteineri elutsüklist sõltumatult, kirjutatav kiht konteineri sees mitte, mistõttu konteineri uuesti loomine selle kujutisest ei taasta olekut, mida rakendus kasutas, nagu kirjeldab mahtude dokumentatsioon. Kirjutage üles mahud, sidumispunktid ja välised teenused, millest seade sõltub, ning kasutage rakenduse enda varundus- ja taastamisprotsessi. Konteiner, mis käivitub veata, ei ole tõestus, et selle andmebaas ja failid on kooskõlas.

Identiteedi puhul otsustage, kas taastate sama seadme või registreerite asenduse, sest need on erinevad toimingud erineva puhastusega.

Sovitage vana partneri juurdepääs enne, kui aktiveerite identiteedi mujal, ja alles siis katsetage ülesehitatud seadet isoleeritud või taastekeskkonnas. Kontrollige vajalikke andmeid, õiget identiteeti, omanikuga uuendusteed ja kavandatud võrgupoliitikat.

Käivitatav kujutis on üks sisend neljast ja seda on kõige lihtsam taastoota.

Seotud artiklid