Izrada snimaka pomoću Packera

Što je Packer?

Packer je alat za obradu slika poslužitelja koji je razvio HashiCorp. Slika poslužitelja; ili alternativno, nepromjenjiva infrastruktura; je popularna alternativa alatima za konfiguraciju vremena izvođenja, kao što su Ansible ili Puppet. Temelji se na ideji da kada se poslužitelj jednom postavi, nikada ga ne mijenjate; umjesto toga, postavljate novi poslužitelj sa svojim promjenama, a zatim rušite stari. To olakšava održavanje poslužitelja i omogućuje vam učinkovitije skaliranje na velikom broju strojeva.

Iako Packer ne podržava Vultr iz kutije, postoji dodatak koji dodaje tu podršku. Upute za instalaciju Packera s podrškom za Vultr možete pronaći na README dodatka. Ostatak ovog članka pretpostavlja da imate instaliran Packer, kao i dodatak Vultr.

Kako radi

Svrha Packera je proizvesti slike poslužitelja, ili artefakte koji se mogu koristiti za stvaranje novog poslužitelja točno onako kako je bio u vrijeme snimanja slike. Za Vultr, ti se artefakti zovu Snapshots. Dodatak radi tako što postavlja novi VPS, pokreće vaše definirane dobavljače usluga na njemu, stvara njegovu snimku, a zatim ruši VPS. Kada želite stvoriti novi poslužitelj iz svoje slike, jednostavno pozovite Vultrov API da biste postavili novi VPS sa željenim Snapshot-om kao operativnim sustavom.

Korištenje Packera

Packer uzima JSON datoteku koja definira gradnju koju treba pokrenuti kao ulaz. Ovdje je primjer datoteke koja definira Vultr build:

{
  "variables": {
    "vultr_api_key": "{{env `VULTR_API_KEY`}}"
  },
  "builders": [
    {
      "type": "vultr",
      "api_key": "{{user `vultr_api_key`}}",
      "snapshot_description": "My Awesome App",
      "region_id": "2",
      "plan_id": "201",
      "os_id": "167",
      "ssh_username": "root"
    }
  ]
}

Ova datoteka ima dva ključa najviše razine variablesi builders. variablesTipka se koristi za definiranje prilagođenih varijabli, te u tom slučaju koristi se uključiti VULTR_API_KEYvarijablu okruženja na način koji se može koristiti kasnije. buildersKljuč sadrži popis gradi izvoditi u ovom slučaju samo naš Vultr graditi. Razgradimo malo tu konstrukciju:

  • type: Ovo definira builder koji će stvarno koristiti, a za Vultr gradnje to bi uvijek trebalo biti vultr.
  • api_key: Da biste pokrenuli gradnju, potreban vam je API ključ, koji je ovdje definiran. Ovaj primjer definira je kao vrijednost vultr_api_keykorisničke varijable, koja je dalje postavljena na vrijednost VULTR_API_KEYvarijable okruženja.
  • snapshot_description: Opis rezultirajuće snimke.
  • region_id: Regija za implementaciju VPS-a. To ne utječe na konačnu snimku, već samo na poslužitelj s kojeg je napravljena snimka.
  • plan_id: Plan za korištenje za VPS. Buduća upotreba ovog snimka mora definirati plan koji je barem ovoliko velik.
  • os_id: Operativni sustav na kojem se temelji snimak.
  • ssh_username: Korisničko ime koje će se koristiti kada se SSH ubacuje na poslužitelj radi opskrbe. Za Linux poslužitelje to će obično biti root.

Da biste je koristili, spremite ovu datoteku s imenom poput server.json, a zatim pokrenite naredbu packer build server.json. Vidjet ćete neki izlaz koji ukazuje na status gradnje, što će potrajati nekoliko minuta.

Kada pokrenete ovu gradnju, novi poslužitelj s imenom Snapshotting: My Awesome Appbit će stvoren, snimljen i zatim uništen. Bez definiranih pružatelja usluga, to je sve što se događa. Za više informacija o definiranju dobavljača, pogledajte Packerovu dokumentaciju .

Nakon što je gradnja gotova, Packer će ispisati ID rezultirajuće snimke.

Definiranje regije, plana i OS-a

Ove tri vrijednosti su potrebne za svaku Vultr gradnju, ali se mogu definirati na jedan od nekoliko načina. Za svaku od njih trebate navesti točno jednu od njegovih varijacija kako biste izbjegli dvosmislenost:

Regija

Podaci o regiji mogu se zatražiti putem API-ja: https://www.vultr.com/api/#regions_region_list

  • region_id: ID regije, npr 2
  • region_code: Šifra regije, npr ORD

Plan

Informacije o planu mogu se zatražiti putem API-ja: https://www.vultr.com/api/#plans_plan_list

  • plan_id: ID plana, npr 201

OS

Podaci o operativnom sustavu mogu se tražiti putem API-ja: https://www.vultr.com/api/#os_os_list

  • os_id: ID OS-a, npr 167

Ostavite komentar

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više