Lage øyeblikksbilder med Packer

Hva er Packer?

Packer er et serverbildeverktøy utviklet av HashiCorp. Server bildebehandling; eller alternativt uforanderlig infrastruktur; er et populært alternativ til kjøretidskonfigurasjonsverktøy, for eksempel Ansible eller Puppet. Den er basert på ideen om at når en server først er distribuert, endrer du den aldri; i stedet distribuerer du en ny server med endringene dine og river deretter ned den gamle. Dette gjør servervedlikehold enklere, og lar deg skalere mer effektivt på tvers av et stort antall maskiner.

Selv om Packer ikke støtter Vultr ut av esken, er det en plugin som legger til denne støtten. Instruksjoner for å installere Packer med Vultr-støtte finner du på pluginens README. Resten av denne artikkelen forutsetter at du har Packer installert, samt Vultr-plugin.

Hvordan det fungerer

Hensikten med Packer er å produsere serverbilder, eller artefakter som kan brukes til å lage en ny server akkurat slik den var på bildetidspunktet. For Vultr kalles disse artefaktene Snapshots. Plugin-en fungerer ved å distribuere en ny VPS, kjøre dine definerte provisjonsprogrammer på den, lage et øyeblikksbilde av den og deretter rive ned VPS. Når du vil lage en ny server fra bildet ditt, ring ganske enkelt Vultrs API for å distribuere en ny VPS med ønsket Snapshot som operativsystem.

Bruker Packer

Packer tar en JSON-fil som definerer bygningen den skal kjøre som input. Her er en eksempelfil som definerer en Vultr-bygg:

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

Denne filen har to toppnivånøkler, variablesog builders. Den variablesnøkkel blir brukt til å definere tilpassede variabler, og i dette tilfelle benyttes for å inkorporere VULTR_API_KEYmiljøvariabelen på en måte som kan brukes senere. Den buildersnøkkelen inneholder en liste over bygger å kjøre, i dette tilfellet bare vår Vultr bygge. La oss bryte den bygningen litt ned:

  • type: Dette definerer byggherren som faktisk skal brukes, og for Vultr-bygg skal dette alltid være vultr.
  • api_key: For å kjøre bygget trenger du en API-nøkkel, som er definert her. Dette eksemplet definerer det som verdien til vultr_api_keybrukervariabelen, som lenger opp er satt til verdien av VULTR_API_KEYmiljøvariabelen.
  • snapshot_description: Beskrivelsen av det resulterende øyeblikksbildet.
  • region_id: Regionen å distribuere en VPS til. Dette påvirker ikke det endelige øyeblikksbildet, bare serveren som øyeblikksbildet er opprettet fra.
  • plan_id: Planen å bruke for VPS. Fremtidig bruk av dette øyeblikksbildet må definere en plan som er minst så stor.
  • os_id: Operativsystemet å basere øyeblikksbildet på.
  • ssh_username: Brukernavnet som vil bli brukt når SSH går inn på serveren for klargjøring. For Linux-servere vil dette vanligvis være root.

For å bruke den, lagre denne filen med et navn som server.json, og kjør deretter kommandoen packer build server.json. Du vil se noe utdata som indikerer statusen til bygget, noe som vil ta noen minutter.

Når du kjører denne konstruksjonen, vil en ny server med navn Snapshotting: My Awesome Appbli opprettet, tatt et øyeblikksbilde og deretter ødelagt. Uten at det er definert provianter, er det alt som skjer. For mer informasjon om definering av provisjoner, se Packers dokumentasjon .

Når byggingen er fullført, vil Packer gi ut ID-en til det resulterende øyeblikksbildet.

Definere region, plan og OS

Disse tre verdiene kreves for hvert Vultr-bygg, men kan defineres på en av flere måter. For hver enkelt bør du spesifisere nøyaktig én av variantene for å unngå tvetydighet:

Region

Regioninformasjon kan søkes via API: https://www.vultr.com/api/#regions_region_list

  • region_id: IDen til regionen, f.eks 2
  • region_code: Koden for regionen, f.eks ORD

Plan

Planinformasjon kan søkes via API: https://www.vultr.com/api/#plans_plan_list

  • plan_id: IDen til planen, f.eks 201

OS

Operativsysteminformasjon kan spørres via APIen: https://www.vultr.com/api/#os_os_list

  • os_id: IDen til operativsystemet, f.eks 167

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer