Spesso ci saranno casi in cui vorrai automatizzare il provisioning e la configurazione della tua infrastruttura cloud Vultr. Ci sono una miriade di strumenti là fuori, tuttavia, cloud-init è uno standard del settore che viene utilizzato per inizializzare e configurare le istanze VM con i dati degli utenti Spesso ci saranno casi in cui vorrai automatizzare il provisioning e la configurazione della tua infrastruttura cloud Vultr. Ci sono una miriade di strumenti là fuori, tuttavia, cloud-init è uno standard del settore che viene utilizzato per inizializzare e configurare le istanze VM con i dati degli utenti Spesso ci saranno casi in cui vorrai automatizzare il provisioning e la configurazione della tua infrastruttura cloud Vultr. Ci sono una miriade di strumenti là fuori, tuttavia, cloud-init è uno standard del settore che viene utilizzato per inizializzare e configurare le istanze VM con i dati degli utenti Terraform è uno strumento Infrastructure-as-code che consente agli utenti di creare, modificare e modificare la versione dell'infrastruttura in modo sicuro ed efficiente. Utilizza una sintassi di alto livello per eseguire il provisioning e gestire in modo dichiarativo l'infrastruttura, consentendo la possibilità di suddividere la configurazione in blocchi più piccoli per una migliore organizzazione, riutilizzo e manutenibilità. Le informazioni sull'installazione e l'esecuzione di Terraform sono disponibili qui. Passando il parametro user_data in un file Terraform.yaml, puoi utilizzare l'automazione per configurare la tua istanza Vultr al momento dell'avvio. Maggiori informazioni di seguito Utilizzo di Terraform per configurare Cherryservers con cloud-init Se Terraform è il tuo metodo di provisioning dell'infrastruttura preferito, puoi trovare il provider Vultr Terraform su Github Repo qui Per qualsiasi provider di infrastruttura, quando utilizzi Terraform come strumento di provisioning dovrai sempre specificare il blocco del provider come mostrato qui: Ecco un modulo di esempio che utilizza i dati utente per configurare un'istanza Vultr all'avvio: Con questo modulo, hai una risorsa che designa vultr_server come il tipo di risorsa di cui desideri eseguire il provisioning e utilizza variabili come project_id e user_data per gestire il provisioning. Quando fornisci la stringa per user_data, stai designando uno script di avvio che il server bare metal eseguirà all'avvio Puoi eseguire il provisioning di nuovi server tramite l'API per recuperare i dati utente del tuo Vultr tramite il servizio cloud-init. Ciò consente di automatizzare varie attività di configurazione del server recuperando le direttive dei dati utente al momento della distribuzione del server. Le attività fornite verranno eseguite al primo avvio del server. Esistono due modi per farlo: script di shell o direttive cloud-init. Parleremo delle direttive cloud-init Le direttive Cloud-Init vengono eseguite quando il server si avvia per la prima volta, ma la sintassi è leggermente diversa. Il tuo scenario deve iniziare con la riga #cloud-config, altrimenti le direttive sui dati utente verranno rifiutate. Per ulteriori riferimenti, consiglio di consultare la documentazione ufficiale di cloud-init: httpscloudinit.readthedocs.io/en/latest/index.html Un semplice esempio di uno script cloud-init che verrebbe passato è: Per passare questi scenari di dati all'API Vultr, è necessario convertirli in formato base64. Su un sistema Linux faresti quanto segue per il tuo file test.yaml: Questo testo di output deve quindi essere recuperato tramite il parametro user_data dell'API Vultr quando si ordina un nuovo server Mettere tutto insieme Per vederlo in azione, specifica il fornitore di risorse in modo da poter designare Vultr come piattaforma su cui stai effettuando il provisioning. Il tuo script finale dovrebbe assomigliare a questo: Questo è tutto quello che c'è da fare! Terraform è uno strumento davvero eccezionale per automatizzare l'infrastruttura una volta compresa la sintassi e come funziona. Spero che questo articolo ti sia piaciuto!