Vytváranie snímok pomocou nástroja Packer

Čo je Packer?

Packer je serverový zobrazovací nástroj vyvinutý spoločnosťou HashiCorp. Serverové zobrazovanie; alebo alternatívne, nemenná infraštruktúra; je populárnou alternatívou k runtime konfiguračným nástrojom, ako sú Ansible alebo Puppet. Je založený na myšlienke, že ak je server raz nasadený, už ho nikdy nezmeníte; namiesto toho nasadíte nový server s vašimi zmenami a potom zničíte starý. To zjednodušuje údržbu servera a umožňuje efektívnejšie škálovanie na veľkom počte strojov.

Aj keď Packer nepodporuje Vultr hneď po vybalení, existuje doplnok, ktorý túto podporu pridáva. Pokyny na inštaláciu Packera s podporou Vultr nájdete v README doplnku. Zvyšok tohto článku predpokladá, že máte nainštalovaný Packer, ako aj doplnok Vultr.

Ako to funguje

Účelom Packeru je vytvárať serverové obrazy alebo artefakty, ktoré možno použiť na vytvorenie nového servera presne tak, ako bol v čase zobrazovania. Pre Vultra sa tieto artefakty nazývajú snímky. Doplnok funguje tak, že nasadí nový VPS, spustí na ňom vami definovaných provízorov, vytvorí jeho snímku a potom VPS zruší. Keď chcete vytvoriť nový server z vášho obrazu, jednoducho zavolajte Vultr's API a nasaďte nový VPS s požadovaným Snapshotom ako operačným systémom.

Pomocou Packer

Packer berie ako vstup súbor JSON definujúci zostavu, ktorú by mal spustiť. Tu je vzorový súbor definujúci zostavu Vultr:

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

Tento súbor má dva kľúče najvyššej úrovne variablesa builders. variablesKľúč slúži na definovanie vlastných premenných, a v tomto prípade sa používa začleniť VULTR_API_KEYpremennú prostredia takým spôsobom, ktorý môže byť použitý neskôr. buildersKľúč obsahuje zoznam zostavenie spustiť, je v tomto prípade iba naše Vultr zostavenie. Poďme si to zostavenie trochu rozobrať:

  • type: Toto definuje tvorcu, ktorý sa má skutočne použiť, a pre zostavy Vultr by to malo byť vždy vultr.
  • api_key: Na spustenie zostavy potrebujete kľúč API, ktorý je definovaný tu. Tento príklad ju definuje ako hodnotu vultr_api_keypoužívateľskej premennej, ktorá je ďalej nastavená na hodnotu VULTR_API_KEYpremennej prostredia.
  • snapshot_description: Popis výslednej snímky.
  • region_id: Oblasť, do ktorej sa má nasadiť VPS. Toto neovplyvní konečný snímok, iba server, z ktorého je snímka vytvorená.
  • plan_id: Plán na použitie pre VPS. Budúce použitie tejto snímky musí definovať plán, ktorý je aspoň takto veľký.
  • os_id: Operačný systém, na ktorom je snímka založená.
  • ssh_username: Používateľské meno, ktoré sa použije pri pripojení SSH na server na poskytovanie. Pre servery Linux to bude zvyčajne root.

Ak ho chcete použiť, uložte tento súbor s názvom ako server.jsona potom spustite príkaz packer build server.json. Uvidíte nejaký výstup označujúci stav zostavy, čo bude trvať niekoľko minút.

Keď spustíte túto zostavu, vytvorí sa nový server s názvom, Snapshotting: My Awesome Appvytvorí sa snímka a potom sa zničí. Bez toho, aby boli definovaní žiadni provizória, to je všetko, čo sa stane. Ďalšie informácie o definovaní poskytovateľov nájdete v dokumentácii Packer .

Po dokončení zostavovania Packer vypíše ID výslednej snímky.

Definovanie regiónu, plánu a operačného systému

Tieto tri hodnoty sú potrebné pre každú zostavu Vultr, ale možno ich definovať jedným z niekoľkých spôsobov. Pre každý z nich by ste mali špecifikovať presne jednu z jeho variácií, aby ste sa vyhli nejednoznačnosti:

región

Informácie o regióne je možné získať prostredníctvom rozhrania API: https://www.vultr.com/api/#regions_region_list

  • region_id: ID regiónu, napr 2
  • region_code: Kód regiónu, napr ORD

Plán

Informácie o pláne je možné získať prostredníctvom rozhrania API: https://www.vultr.com/api/#plans_plan_list

  • plan_id: ID plánu, napr 201

OS

Informácie o operačnom systéme je možné získať prostredníctvom rozhrania API: https://www.vultr.com/api/#os_os_list

  • os_id: ID operačného systému, napr 167

Ako nainštalovať Jenkins na CentOS 7

Ako nainštalovať Jenkins na CentOS 7

Jenkins je populárny open source nástroj CI (Continuous Integration), ktorý sa široko používa na vývoj projektov, nasadenie a automatizáciu. Tento článok bude

Ako nainštalovať a nakonfigurovať Concourse CI na Ubuntu 16.04

Ako nainštalovať a nakonfigurovať Concourse CI na Ubuntu 16.04

Používate iný systém? Úvod Kontinuálna integrácia je postup vývoja softvéru DevOps, ktorý umožňuje vývojárom často spájať th

Ako nainštalovať a nakonfigurovať Ansible na Debian 9 na použitie so serverom Windows

Ako nainštalovať a nakonfigurovať Ansible na Debian 9 na použitie so serverom Windows

Používate iný systém? Ansible je open source nástroj na automatizáciu úloh. Spravuje konfiguráciu vašich serverov Linux a Windows. funguje to

Ako nainštalovať a nakonfigurovať GoCD na CentOS 7

Ako nainštalovať a nakonfigurovať GoCD na CentOS 7

Používate iný systém? GoCD je open source systém nepretržitého doručovania a automatizácie. Umožňuje vám modelovať komplexné pracovné postupy pomocou jeho paralelných an

Používanie SaltStack With Pillars na Ubuntu 17.04

Používanie SaltStack With Pillars na Ubuntu 17.04

Zatiaľ čo SaltStack je skvelý nástroj na spustenie operácií na mnohých serveroch súčasne, podporuje aj predvoľby konfigurácie definované pre jednotlivých hostiteľov uložené v

Ako nainštalovať a nakonfigurovať Ansible na CentOS 7 na použitie so systémom Windows Server

Ako nainštalovať a nakonfigurovať Ansible na CentOS 7 na použitie so systémom Windows Server

Používate iný systém? Ansible je open source nástroj na automatizáciu úloh. Spravuje konfiguráciu vašich serverov Linux a Windows. funguje to

Ako nainštalovať Drone CI na Ubuntu 18.04

Ako nainštalovať Drone CI na Ubuntu 18.04

Úvod Drone je automatizovaná, nepretržitá testovacia a doručovacia platforma, ktorá beží na vašej vlastnej infraštruktúre. Drone podporuje akýkoľvek jazyk, službu o

Vultr Load Balancers

Vultr Load Balancers

Čo je to Load Balancer Load Balancer je umiestnený pred vašou aplikáciou a distribuuje prichádzajúcu návštevnosť medzi viaceré inštancie vašej aplikácie. Fo

Ako nainštalovať Foreman na CentOS 7

Ako nainštalovať Foreman na CentOS 7

Používate iný systém? Foreman je bezplatný a open source nástroj, ktorý vám pomôže s konfiguráciou a správou fyzických a virtuálnych serverov. Forema

Ako nainštalovať SaltStack na CentOS 7

Ako nainštalovať SaltStack na CentOS 7

SaltStack alebo Salt je populárne riešenie na správu konfigurácie s otvoreným zdrojom, ktoré možno použiť na implementáciu vzdialeného spúšťania, správy konfigurácie, kódov

Ako nainštalovať Strider CD na Ubuntu 18.04

Ako nainštalovať Strider CD na Ubuntu 18.04

Úvod Strider CD je open source platforma nepretržitého nasadenia. Aplikácia je napísaná v Node.js a používa MongoDB ako backend úložiska. Kráčať

Používanie aplikácie Chocolatey Package Manager v systéme Windows

Používanie aplikácie Chocolatey Package Manager v systéme Windows

Úvod Chocolatey prináša správu balíkov, ktorá uľahčuje správu softvéru a závislostí v systéme Linux, do systému Windows. Môžete rýchlo a jednoducho

Vytváranie snímok pomocou nástroja Packer

Vytváranie snímok pomocou nástroja Packer

Čo je Packer? Packer je serverový zobrazovací nástroj vyvinutý spoločnosťou HashiCorp. Serverové zobrazovanie; alebo alternatívne, nemenná infraštruktúra; je obľúbenou alternatívou

Ako nainštalovať a nakonfigurovať Concourse CI na CentOS 7

Ako nainštalovať a nakonfigurovať Concourse CI na CentOS 7

Používate iný systém? Úvod Kontinuálna integrácia je postup vývoja softvéru DevOps, ktorý umožňuje vývojárom často spájať th

Použitie Chef-solo na konfiguráciu aplikácie Django na Ubuntu

Použitie Chef-solo na konfiguráciu aplikácie Django na Ubuntu

Existuje mnoho spôsobov, ako automatizovať proces nastavenia a konfigurácie boxu. Z akéhokoľvek dôvodu, ak celý náš systém v tomto bode pozostáva z spravodlivého

Ako nainštalovať Foreman na Ubuntu 16.04 LTS

Ako nainštalovať Foreman na Ubuntu 16.04 LTS

Používate iný systém? Foreman je bezplatný a open source nástroj, ktorý vám pomôže s konfiguráciou a správou fyzických a virtuálnych serverov. Forema

Začíname so SaltStack na Ubuntu 17.04

Začíname so SaltStack na Ubuntu 17.04

SaltStack je program na správu konfigurácie založený na pythone, ktorý je optimalizovaný pre automatizáciu konfiguračných súborov, nasadení a čohokoľvek iného

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac