Pillanatképek készítése a Packerrel

Mi az a Packer?

A Packer egy szerver képalkotó eszköz, amelyet a HashiCorp fejlesztett ki. Szerver képalkotás; vagy változatlan infrastruktúra; a futásidejű konfigurációs eszközök, például az Ansible vagy a Puppet népszerű alternatívája. Ez azon az elgondoláson alapul, hogy a szerver telepítése után soha nem módosíthatja azt; ehelyett egy új kiszolgálót telepít a változtatásokkal, majd lebontja a régit. Ez megkönnyíti a szerver karbantartását, és lehetővé teszi a nagyszámú gépen történő hatékonyabb skálázást.

Noha a Packer nem támogatja a Vultr-t a dobozból, van egy bővítmény, amely hozzáadja ezt a támogatást. A Vultr támogatással rendelkező Packer telepítésére vonatkozó utasítások a bővítmény README oldalán találhatók. A cikk további része feltételezi, hogy telepítve van a Packer, valamint a Vultr beépülő modul.

Hogyan működik

A Packer célja szerverképek vagy műtermékek előállítása, amelyek segítségével pontosan olyan új szervert lehet létrehozni, amilyen a képalkotás idején volt. A Vultr esetében ezeket a műtermékeket pillanatképeknek nevezik. A beépülő modul úgy működik, hogy üzembe helyez egy új VPS-t, futtatja rajta a meghatározott szolgáltatókat, pillanatképet készít róla, majd lebontja a VPS-t. Ha új kiszolgálót szeretne létrehozni a képfájlból, egyszerűen hívja a Vultr API-ját, hogy telepítsen egy új VPS-t a kívánt pillanatfelvétel operációs rendszerével.

Packer használata

A Packer elővesz egy JSON-fájlt, amely meghatározza azt a buildet, amelyet bemenetként kell futtatnia. Itt van egy mintafájl, amely meghatározza a Vultr buildet:

{
  "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"
    }
  ]
}

Ennek a fájlnak két legfelső szintű kulcsa van, variablesés builders. A variableskulcs az egyéni változók meghatározására szolgál, és ebben az esetben a VULTR_API_KEYkörnyezeti változó későbbi felhasználásra alkalmas módon történő beépítésére szolgál. A builderskulcs tartalmazza a futtatandó buildek listáját, ebben az esetben csak a Vultr buildünket. Bontsuk egy kicsit ezt az építményt:

  • type: Ez határozza meg a ténylegesen használandó buildert, és a Vultr buildeknél ennek mindig vultr.
  • api_key: A build futtatásához API-kulcsra van szükség, amelyet itt definiálunk. Ez a példa a vultr_api_keyfelhasználói változó értékeként definiálja , amely tovább feljebb a VULTR_API_KEYkörnyezeti változó értékére van beállítva .
  • snapshot_description: Az eredményül kapott pillanatkép leírása.
  • region_id: Az a régió, ahová a VPS-t telepíteni kell. Ez nem befolyásolja a végső pillanatképet, csak azt a szervert, amelyről a pillanatkép készült.
  • plan_id: A VPS-hez használható terv. Ennek a pillanatképnek a jövőbeni felhasználása során legalább ekkora tervet kell meghatározni.
  • os_id: A pillanatkép alapjául szolgáló operációs rendszer.
  • ssh_username: Az a felhasználónév, amelyet akkor használunk, amikor az SSH-t a kiszolgálóra létesítjük. Linux szerverek esetén ez általában a következő lesz root.

Használatához mentse el ezt a fájlt olyan néven, mint server.json, majd futtassa a parancsot packer build server.json. Látni fog néhány kimenetet, amely jelzi a build állapotát, ami néhány percet vesz igénybe.

A build futtatásakor egy új nevű kiszolgáló Snapshotting: My Awesome Appjön létre, pillanatfelvétel készül, majd megsemmisül. Ha nincsenek megadva szolgáltatók, ez minden történik. A szolgáltatók meghatározásával kapcsolatos további információkért tekintse meg a Packer dokumentációját .

Amint az összeállítás befejeződött, a Packer kiadja az eredményül kapott pillanatkép azonosítóját.

Régió, terv és operációs rendszer meghatározása

Ez a három érték minden Vultr buildhez szükséges, de többféleképpen definiálható. Mindegyikhez pontosan egy változatot kell megadnia a félreértések elkerülése érdekében:

Vidék

A régió információi lekérdezhetők az API-n keresztül: https://www.vultr.com/api/#regions_region_list

  • region_id: A régió azonosítója, pl 2
  • region_code: A régió kódja, pl ORD

Terv

A terv információi lekérdezhetők az API-n keresztül: https://www.vultr.com/api/#plans_plan_list

  • plan_id: A terv azonosítója, pl 201

OS

Az operációs rendszerrel kapcsolatos információk az API-n keresztül kérdezhetők le: https://www.vultr.com/api/#os_os_list

  • os_id: Az operációs rendszer azonosítója, pl 167

A Jenkins telepítése a CentOS 7 rendszeren

A Jenkins telepítése a CentOS 7 rendszeren

A Jenkins egy népszerű nyílt forráskódú CI (Continuous Integration) eszköz, amelyet széles körben használnak projektfejlesztésre, telepítésre és automatizálásra. Ez a cikk lesz

A Concourse CI telepítése és konfigurálása Ubuntu 16.04 rendszeren

A Concourse CI telepítése és konfigurálása Ubuntu 16.04 rendszeren

Más rendszert használ? Bevezetés A Continuous Integration egy DevOps szoftverfejlesztési gyakorlat, amely lehetővé teszi a fejlesztők számára, hogy gyakran egyesítsék

Az Ansible telepítése és konfigurálása Debian 9 rendszeren Windows Serverrel való használatra

Az Ansible telepítése és konfigurálása Debian 9 rendszeren Windows Serverrel való használatra

Más rendszert használ? Az Ansible egy nyílt forráskódú eszköz a feladatok automatizálására. Ez kezeli a Linux és Windows szerverek konfigurációját. Működik

A GoCD telepítése és konfigurálása CentOS 7 rendszeren

A GoCD telepítése és konfigurálása CentOS 7 rendszeren

Más rendszert használ? A GoCD egy nyílt forráskódú, folyamatos szállítási és automatizálási rendszer. Lehetővé teszi összetett munkafolyamatok modellezését a párhuzamos an

A SaltStack használata a pillérekkel az Ubuntu 17.04-en

A SaltStack használata a pillérekkel az Ubuntu 17.04-en

Míg a SaltStack nagyszerű eszköz a műveletek egyidejű futtatására több szerveren, támogatja a gazdagépenként definiált konfigurációs előbeállításokat is.

Az Ansible telepítése és konfigurálása a CentOS 7 rendszeren Windows Serverrel való használatra

Az Ansible telepítése és konfigurálása a CentOS 7 rendszeren Windows Serverrel való használatra

Más rendszert használ? Az Ansible egy nyílt forráskódú eszköz a feladatok automatizálására. Ez kezeli a Linux és Windows szerverek konfigurációját. Működik

A Drone CI telepítése Ubuntu 18.04-re

A Drone CI telepítése Ubuntu 18.04-re

Bevezetés A Drone egy automatizált, folyamatos tesztelési és szállítási platform, amely az Ön saját infrastruktúráján fut. A drone bármilyen nyelvet, szolgáltatást támogat

Vultr terheléselosztók

Vultr terheléselosztók

Mi az a Load Balancer A terheléselosztók az alkalmazás előtt ülnek, és elosztják a bejövő forgalmat az alkalmazás több példánya között. Fo

A Foreman telepítése a CentOS 7 rendszeren

A Foreman telepítése a CentOS 7 rendszeren

Más rendszert használ? A Foreman egy ingyenes és nyílt forráskódú eszköz, amely segít a fizikai és virtuális szerverek konfigurációjában és kezelésében. Forema

A SaltStack telepítése CentOS 7 rendszeren

A SaltStack telepítése CentOS 7 rendszeren

A SaltStack vagy a Salt egy népszerű nyílt forráskódú konfigurációkezelési megoldás, amely távoli végrehajtás, konfigurációkezelés, kódolás megvalósítására használható.

A Strider CD telepítése Ubuntu 18.04-re

A Strider CD telepítése Ubuntu 18.04-re

Bevezetés A Strider CD egy nyílt forráskódú, folyamatos telepítésű platform. Az alkalmazás Node.js-ben íródott, és a MongoDB-t használja tárolási háttérként. Lépés

A Chocolatey Package Manager használata Windows rendszeren

A Chocolatey Package Manager használata Windows rendszeren

Bevezetés A Chocolatey olyan csomagkezelést kínál, amely megkönnyíti a szoftverek és függőségek adminisztrálását Linuxon a Windows rendszeren. Gyorsan és egyszerűen meg tudod csinálni

Pillanatképek készítése a Packerrel

Pillanatképek készítése a Packerrel

Mi az a Packer? A Packer egy szerver képalkotó eszköz, amelyet a HashiCorp fejlesztett ki. Szerver képalkotás; vagy változatlan infrastruktúra; népszerű alternatíva

A Concourse CI telepítése és konfigurálása CentOS 7 rendszeren

A Concourse CI telepítése és konfigurálása CentOS 7 rendszeren

Más rendszert használ? Bevezetés A Continuous Integration egy DevOps szoftverfejlesztési gyakorlat, amely lehetővé teszi a fejlesztők számára, hogy gyakran egyesítsék

A Chef-solo használata a Django alkalmazás konfigurálásához Ubuntun

A Chef-solo használata a Django alkalmazás konfigurálásához Ubuntun

A dobozok beállításának és konfigurálásának folyamatát számos módon automatizálhatjuk. Bármilyen okból, ha az egész rendszerünk ezen a ponton csak

A Foreman telepítése Ubuntu 16.04 LTS-re

A Foreman telepítése Ubuntu 16.04 LTS-re

Más rendszert használ? A Foreman egy ingyenes és nyílt forráskódú eszköz, amely segít a fizikai és virtuális szerverek konfigurációjában és kezelésében. Forema

A SaltStack első lépései az Ubuntu 17.04-en

A SaltStack első lépései az Ubuntu 17.04-en

A SaltStack egy python alapú konfigurációkezelő program, amely a konfigurációs fájlok, a telepítések és bármi más automatizálására van optimalizálva.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket