Tilannekuvien luominen Packerilla

Mikä on Packer?

Packer on HashiCorpin kehittämä palvelimen kuvantamistyökalu. Palvelimen kuvantaminen; tai vaihtoehtoisesti muuttumaton infrastruktuuri; on suosittu vaihtoehto ajonaikaisille määritystyökaluille, kuten Ansible tai Puppet. Se perustuu ajatukseen, että kun palvelin on otettu käyttöön, et koskaan muuta sitä. sen sijaan otat käyttöön uuden palvelimen muutoksineen ja purat sitten vanhan. Tämä helpottaa palvelimien ylläpitoa ja mahdollistaa tehokkaamman skaalauksen useiden koneiden kesken.

Vaikka Packer ei tue Vultria valmiina, on laajennus, joka lisää tämän tuen. Ohjeet Packerin asentamiseen Vultr-tuella löytyvät laajennuksen README-kohdasta. Tämän artikkelin loppuosassa oletetaan, että sinulla on asennettuna Packer sekä Vultr-laajennus.

Kuinka se toimii

Packerin tarkoitus on tuottaa palvelinkuvia tai artefakteja, joiden avulla voidaan luoda uusi palvelin juuri sellaisena kuin se oli kuvantamishetkellä. Vultrille näitä esineitä kutsutaan Snapshotiksi. Laajennus toimii ottamalla käyttöön uuden VPS:n, suorittamalla määritetyt provisiotit siinä, luomalla siitä tilannevedoksen ja purkamalla sitten VPS:n. Kun haluat luoda uuden palvelimen kuvastasi, soita Vultrin API:lle ja ota käyttöön uusi VPS, jonka käyttöjärjestelmä on haluttu tilannekuva.

Packerin käyttö

Packer ottaa syötteenä JSON-tiedoston, joka määrittää koontiversion. Tässä on esimerkkitiedosto, joka määrittää Vultr-koontiversion:

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

Tässä tiedostossa on kaksi ylätason näppäintä variablesja builders. variablesNäppäintä käytetään määritellä omia muuttujia, ja tässä tapauksessa käytetään sisällyttää VULTR_API_KEYympäristömuuttujan tavalla, jota voidaan käyttää myöhemmin. buildersAvain sisältää luettelon rakentaa juosta, tässä tapauksessa vain meidän Vultr rakentaa. Puretaan tätä rakennetta hieman:

  • type: Tämä määrittää rakentajan, jota todella käyttää, ja Vultr-koontiversioissa tämän pitäisi aina olla vultr.
  • api_key: Rakennuksen suorittamiseksi tarvitset API-avaimen, joka määritellään tässä. Tässä esimerkissä se määritellään vultr_api_keykäyttäjämuuttujan arvoksi , joka edelleen asetetaan VULTR_API_KEYympäristömuuttujan arvoksi .
  • snapshot_description: Tuloksena olevan tilannekuvan kuvaus.
  • region_id: Alue, johon VPS otetaan käyttöön. Tämä ei vaikuta lopulliseen tilannekuvaan, vain palvelimeen, josta tilannekuva on luotu.
  • plan_id: VPS:n käyttösuunnitelma. Tämän tilannekuvan tulevan käytön tulee määrittää vähintään näin suuri suunnitelma.
  • os_id: Käyttöjärjestelmä, johon tilannekuva perustuu.
  • ssh_username: Käyttäjätunnus, jota käytetään, kun SSH siirtyy palvelimeen hallintaa varten. Linux-palvelimille tämä on yleensä root.

Käyttääksesi sitä, tallenna tämä tiedosto nimellä, kuten server.json, ja suorita sitten komento packer build server.json. Näet tulosteen, joka ilmaisee koontiversion tilan, mikä kestää muutaman minuutin.

Kun suoritat tämän koontiversion, luodaan uusi palvelin nimeltä, Snapshotting: My Awesome Appsiitä otetaan tilannevedos ja se tuhotaan. Kun palveluntarjoajia ei ole määritetty, siinä kaikki tapahtuu. Lisätietoja palveluntarjoajien määrittämisestä on Packerin dokumentaatiossa .

Kun koonti on valmis, Packer tulostaa tuloksena olevan tilannevedoksen tunnuksen.

Alueen, suunnitelman ja käyttöjärjestelmän määrittäminen

Nämä kolme arvoa vaaditaan jokaisessa Vultr-koontiversiossa, mutta ne voidaan määrittää jollakin useista tavoista. Jokaiselle on määritettävä täsmälleen yksi sen muunnelmista epäselvyyksien välttämiseksi:

Alue

Aluetietoja voi tiedustella API:n kautta: https://www.vultr.com/api/#regions_region_list

  • region_id: Alueen tunnus, esim 2
  • region_code: Alueen koodi, esim ORD

Suunnitelma

Suunnitelman tietoja voi tiedustella API:n kautta: https://www.vultr.com/api/#plans_plan_list

  • plan_id: Suunnitelman tunnus, esim 201

OS

Käyttöjärjestelmän tietoja voi tiedustella API:n kautta: https://www.vultr.com/api/#os_os_list

  • os_id: Käyttöjärjestelmän tunnus, esim 167

Jenkinsin asentaminen CentOS 7:ään

Jenkinsin asentaminen CentOS 7:ään

Jenkins on suosittu avoimen lähdekoodin CI (Continuous Integration) -työkalu, jota käytetään laajasti projektien kehittämiseen, käyttöönottoon ja automatisointiin. Tämä artikkeli tulee

Concourse CI:n asentaminen ja määrittäminen Ubuntu 16.04:ssä

Concourse CI:n asentaminen ja määrittäminen Ubuntu 16.04:ssä

Käytätkö erilaista järjestelmää? Johdanto Continuous Integration on DevOps-ohjelmistokehityskäytäntö, jonka avulla kehittäjät voivat usein yhdistää

Ansiblen asentaminen ja määrittäminen Debian 9:ssä käytettäväksi Windows Serverin kanssa

Ansiblen asentaminen ja määrittäminen Debian 9:ssä käytettäväksi Windows Serverin kanssa

Käytätkö erilaista järjestelmää? Ansible on avoimen lähdekoodin työkalu tehtävien automatisointiin. Se hallitsee Linux- ja Windows-palvelimiesi kokoonpanoa. Se toimi

Kuinka asentaa ja määrittää GoCD CentOS 7: ssä

Kuinka asentaa ja määrittää GoCD CentOS 7: ssä

Käytätkö erilaista järjestelmää? GoCD on avoimen lähdekoodin jatkuva toimitus- ja automaatiojärjestelmä. Sen avulla voit mallintaa monimutkaisia ​​työnkulkuja käyttämällä sen rinnakkaista an

SaltStack with Pillars käyttö Ubuntussa 17.04

SaltStack with Pillars käyttö Ubuntussa 17.04

Vaikka SaltStack on loistava työkalu toimintojen suorittamiseen useilla palvelimilla samanaikaisesti, se tukee myös isäntäkohtaisesti määritettyjä kokoonpanon esiasetuksia, jotka on tallennettu

Ansiblen asentaminen ja määrittäminen CentOS 7:ään käytettäväksi Windows Serverin kanssa

Ansiblen asentaminen ja määrittäminen CentOS 7:ään käytettäväksi Windows Serverin kanssa

Käytätkö erilaista järjestelmää? Ansible on avoimen lähdekoodin työkalu tehtävien automatisointiin. Se hallitsee Linux- ja Windows-palvelimiesi kokoonpanoa. Se toimi

Drone CI:n asentaminen Ubuntuun 18.04

Drone CI:n asentaminen Ubuntuun 18.04

Johdanto Drone on automatisoitu, jatkuva testaus- ja toimitusalusta, joka toimii omassa infrastruktuurissasi. Drone tukee mitä tahansa kieltä, palvelua o

Kuinka asentaa Foreman CentOS 7:ään

Kuinka asentaa Foreman CentOS 7:ään

Käytätkö erilaista järjestelmää? Foreman on ilmainen ja avoimen lähdekoodin työkalu, joka auttaa sinua määrittämään ja hallitsemaan fyysisiä ja virtuaalisia palvelimia. Forema

Kuinka asentaa SaltStack CentOS 7:ään

Kuinka asentaa SaltStack CentOS 7:ään

SaltStack tai Salt on suosittu avoimen lähdekoodin kokoonpanonhallintaratkaisu, jota voidaan käyttää etäsuorituksen, kokoonpanonhallinnan, koodin toteuttamiseen.

Strider-CD:n asentaminen Ubuntuun 18.04

Strider-CD:n asentaminen Ubuntuun 18.04

Johdanto Strider CD on avoimen lähdekoodin jatkuvan käyttöönoton alusta. Sovellus on kirjoitettu Node.js:ssä ja käyttää MongoDB:tä tallennustaustana. Askel

Chocolatey Package Managerin käyttäminen Windowsissa

Chocolatey Package Managerin käyttäminen Windowsissa

Johdanto Chocolatey tuo Windowsiin pakettien hallinnan, joka tekee ohjelmistojen ja riippuvuuksien hallinnasta helppoa Linuxissa. Voit nopeasti ja helposti

Tilannekuvien luominen Packerilla

Tilannekuvien luominen Packerilla

Mikä on Packer? Packer on HashiCorpin kehittämä palvelimen kuvantamistyökalu. Palvelimen kuvantaminen; tai vaihtoehtoisesti muuttumaton infrastruktuuri; on suosittu vaihtoehto

Concourse CI:n asentaminen ja määrittäminen CentOS 7:ssä

Concourse CI:n asentaminen ja määrittäminen CentOS 7:ssä

Käytätkö erilaista järjestelmää? Johdanto Continuous Integration on DevOps-ohjelmistokehityskäytäntö, jonka avulla kehittäjät voivat usein yhdistää

Chef-solon käyttäminen Django-sovelluksen määrittämiseen Ubuntussa

Chef-solon käyttäminen Django-sovelluksen määrittämiseen Ubuntussa

On monia tapoja automatisoida laatikon asennus- ja konfigurointiprosessi. Mistä tahansa syystä, jos koko järjestelmämme tässä vaiheessa koostuu vain

Kuinka asentaa Foreman Ubuntu 16.04 LTS:ään

Kuinka asentaa Foreman Ubuntu 16.04 LTS:ään

Käytätkö erilaista järjestelmää? Foreman on ilmainen ja avoimen lähdekoodin työkalu, joka auttaa sinua määrittämään ja hallitsemaan fyysisiä ja virtuaalisia palvelimia. Forema

SaltStackin käytön aloittaminen Ubuntussa 17.04

SaltStackin käytön aloittaminen Ubuntussa 17.04

SaltStack on python-pohjainen kokoonpanonhallintaohjelma, joka on optimoitu määritystiedostojen, käyttöönottojen ja kaiken muun automatisointiin.

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja