Creazione di istantanee con Packer

Che cos'è Packer?

Packer è uno strumento di imaging dei server sviluppato da HashiCorp. Imaging del server; o in alternativa, infrastruttura immutabile; è una popolare alternativa agli strumenti di configurazione del runtime, come Ansible o Puppet. Si basa sull'idea che una volta distribuito un server, non lo si cambia mai; invece, si distribuisce un nuovo server con le modifiche e quindi si abbatte quello vecchio. Ciò semplifica la manutenzione del server e consente di scalare in modo più efficiente su un gran numero di macchine.

Mentre Packer non supporta Vultr out of the box, c'è un plugin che aggiunge quel supporto. Le istruzioni per l'installazione di Packer con supporto Vultr sono disponibili nel README del plug-in. Il resto di questo articolo presuppone che sia installato Packer e il plug-in Vultr.

Come funziona

Lo scopo di Packer è produrre immagini di server o artefatti che possono essere utilizzati per creare un nuovo server esattamente com'era al momento dell'imaging. Per Vultr, questi artefatti sono chiamati istantanee. Il plug-in funziona distribuendo un nuovo VPS, eseguendo i suoi provisioner definiti su di esso, creando un'istantanea di esso e quindi abbattendo il VPS. Quando si desidera creare un nuovo server dall'immagine, è sufficiente chiamare l'API di Vultr per distribuire un nuovo VPS con l'istantanea desiderata come sistema operativo.

Utilizzando Packer

Packer prende un file JSON che definisce la build che deve essere eseguita come input. Ecco un file di esempio che definisce una build 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"
    }
  ]
}

Questo file ha due chiavi di livello superiore variablese builders. La variableschiave viene utilizzata per definire variabili personalizzate e in questo caso viene utilizzata per incorporare la VULTR_API_KEYvariabile di ambiente in un modo che può essere utilizzato in un secondo momento. La builderschiave contiene un elenco di build da eseguire, in questo caso solo la nostra build Vultr. Abbattiamo un po 'quell'accumulo:

  • type: Definisce il builder da utilizzare effettivamente e per le build di Vultr dovrebbe essere sempre così vultr.
  • api_key: Per eseguire la build, è necessaria una chiave API, che è definita qui. Questo esempio lo definisce come il valore della vultr_api_keyvariabile utente, che più in alto è impostato sul valore della VULTR_API_KEYvariabile d'ambiente.
  • snapshot_description: La descrizione dell'istantanea risultante.
  • region_id: La regione in cui distribuire un VPS. Ciò non influisce sull'istantanea finale, ma solo sul server da cui viene creata l'istantanea.
  • plan_id: Il piano da utilizzare per il VPS. Gli usi futuri di questa istantanea devono definire un piano che sia almeno così grande.
  • os_id: Il sistema operativo su cui basare l'istantanea.
  • ssh_username: Il nome utente che verrà utilizzato durante l'accesso SSH al server per il provisioning. Per i server Linux, questo sarà di solito root.

Per usarlo, salva questo file con un nome simile server.json, quindi esegui il comando packer build server.json. Vedrai alcuni output che indicano lo stato della build, che richiederà alcuni minuti.

Quando si esegue questa build, un nuovo server denominato Snapshotting: My Awesome Appverrà creato, istantaneo e quindi distrutto. Senza i provisioner definiti, è tutto ciò che accade. Per ulteriori informazioni sulla definizione dei provisioner, consultare la documentazione di Packer .

Una volta terminata la compilazione, Packer emetterà l'ID dell'istantanea risultante.

Definizione di regione, piano e sistema operativo

Questi tre valori sono richiesti per ogni build di Vultr, ma possono essere definiti in diversi modi. Per ognuna, dovresti specificare esattamente una delle sue variazioni per evitare ambiguità:

Regione

Le informazioni sulla regione possono essere richieste tramite l'API: https://www.vultr.com/api/#regions_region_list

  • region_id: L'ID della regione, ad es 2
  • region_code: Il codice della regione, ad es ORD

Piano

Le informazioni sul piano possono essere richieste tramite l'API: https://www.vultr.com/api/#plans_plan_list

  • plan_id: L'ID del piano, ad es 201

OS

Le informazioni sul sistema operativo possono essere richieste tramite l'API: https://www.vultr.com/api/#os_os_list

  • os_id: L'ID del sistema operativo, ad es 167


Leave a Comment

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.