Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: ✔️ Macchine virtuali Linux ✔️ Macchine virtuali Windows ✔️ Set di scalabilità flessibili ✔️ Set di scalabilità uniformi
Per creare e gestire macchine virtuali (VM) di Azure in modo coerente su larga scala, è in genere necessario un certo tipo di automazione. Sono disponibili molti strumenti e soluzioni che consentono di automatizzare il ciclo di vita completo della distribuzione e della gestione dell'infrastruttura di Azure. Questo articolo presenta alcuni degli strumenti di automazione dell'infrastruttura che è possibile usare in Azure. Questi strumenti si adattano comunemente a uno degli approcci seguenti:
Automatizzare la configurazione delle macchine virtuali
- Gli strumenti includono Ansible, Chef, Puppet, Bicep e il modello di Azure Resource Manager.
- Gli strumenti specifici per la personalizzazione delle macchine virtuali includono cloud-init per le macchine virtuali Linux, PowerShell Desired State Configuration (DSC) e l'estensione di script personalizzati di Azure per tutte le macchine virtuali di Azure.
Automatizzare la gestione dell'infrastruttura
- Gli strumenti includono Packer per automatizzare le compilazioni di immagini di vm personalizzate e Terraform per automatizzare il processo di compilazione dell'infrastruttura.
- Automazione di Azure può eseguire azioni nell'infrastruttura di Azure e locale.
Automatizzare la distribuzione e il recapito delle applicazioni
- Gli esempi includono Azure DevOps Services e Jenkins.
Terramorfosi
Terraform è uno strumento di automazione che consente di definire e creare un'intera infrastruttura di Azure con un unico linguaggio di formato modello, ovvero il linguaggio HCL (HashiCorp Configuration Language). Con Terraform si definiscono modelli che automatizzano il processo per creare risorse di rete, archiviazione e macchina virtuale per una determinata soluzione applicativa. È possibile usare i modelli Terraform esistenti per altre piattaforme con Azure per garantire coerenza e semplificare la distribuzione dell'infrastruttura senza dover eseguire la conversione in un modello di Azure Resource Manager.
Scopri come:
Automazione di Azure
Automazione di Azure utilizza runbook per elaborare un set di attività sulle macchine virtuali che si desidera prendere di mira. Azure Automation viene utilizzato per gestire le macchine virtuali esistenti piuttosto che per creare un'infrastruttura. Automazione di Azure può essere eseguita su macchine virtuali Linux e Windows e su macchine virtuali o fisiche locali con un worker ibrido per runbook. I runbook possono essere archiviati in un repository di controllo del codice sorgente, ad esempio GitHub. Questi runbooks possono essere eseguiti manualmente oppure secondo un programma prestabilito.
Automazione di Azure offre anche un servizio DSC (Desired State Configuration) che consente di creare definizioni per la configurazione di un determinato set di macchine virtuali. DSC garantisce quindi che venga applicata la configurazione necessaria e che la macchina virtuale rimanga coerente. Automation DSC di Azure viene eseguito in computer Windows e Linux.
Scopri come:
- Creare un runbook di PowerShell.
- Usare Hybrid Runbook Worker per gestire le risorse locali
- Usare Automation DSC di Azure.
Servizi di Azure DevOps
Azure DevOps Services è una suite di strumenti che consentono di condividere e tenere traccia del codice, usare compilazioni automatizzate e creare una pipeline completa di integrazione e sviluppo continuo (CI/CD). Azure DevOps Services si integra con Visual Studio e altri editor per semplificare l'utilizzo. Azure DevOps Services può anche creare e configurare macchine virtuali di Azure e quindi distribuirvi il codice.
Altre informazioni su:
Modello di Azure Resource Manager
Azure Resource Manager è il servizio di distribuzione e gestione per Azure. Fornisce un livello di gestione che consente di creare, aggiornare ed eliminare risorse nella sottoscrizione di Azure. È possibile usare funzionalità di gestione, come il controllo di accesso, i blocchi e i tag, per proteggere e organizzare le risorse dopo la distribuzione.
Scopri come:
- Distribuire macchine virtuali spot usando un modello di Resource Manager.
- Creare una macchina virtuale Windows da un modello di Resource Manager.
- Scaricare il modello per una macchina virtuale.
- Creare un modello di Image Builder di Azure.
Bicipite
Bicep è un linguaggio specifico di dominio (DSL) che usa la sintassi dichiarativa per distribuire le risorse di Azure. L'infrastruttura da distribuire in Azure viene definita in un file Bicep che viene quindi usato in tutto il ciclo di vita di sviluppo per distribuire ripetutamente l'infrastruttura. Le risorse vengono distribuite in modo coerente.
Inizia con Quickstart.
Cloud-init
Cloud-init è un approccio diffuso per personalizzare una macchina virtuale Linux al primo avvio. Cloud-init consente di installare pacchetti e scrivere file o configurare utenti e impostazioni di sicurezza. Poiché cloud-init viene chiamato durante il processo di avvio iniziale, non sono previsti passaggi aggiuntivi o agenti necessari per applicare la configurazione. Per altre informazioni su come formattare correttamente i #cloud-config
file, vedere il sito della documentazione di cloud-init. I file #cloud-config
sono file di testo codificati in formato base64.
Cloud-init funziona anche fra distribuzioni. Ad esempio, non si usa apt-get install o yum install per installare un pacchetto. In alternativa, è possibile definire un elenco di pacchetti da installare. Cloud-init userà automaticamente lo strumento di gestione del pacchetto nativo per la distribuzione selezionata.
Microsoft sta collaborando attivamente con i partner di distribuzione Linux approvati per offrire immagini abilitate per cloud-init in Azure Marketplace. Queste immagini rendono le distribuzioni e le configurazioni cloud-init perfettamente funzionanti con macchine virtuali e set di scalabilità di macchine virtuali. Altre informazioni su cloud-init in Azure:
- Supporto di Cloud-init per macchine virtuali Linux in Azure
- Provare un'esercitazione sulla configurazione automatica delle macchine virtuali usando cloud-init.
PowerShell DSC
PowerShell Desired State Configuration (DSC) è una piattaforma di gestione per definire la configurazione dei computer di destinazione. DSC può essere usato anche in Linux tramite il server OMI (Open Management Infrastructure).
Le configurazioni DSC definiscono cosa installare in un computer e come configurare l'host. Un motore del Gestore della Configurazione Locale viene eseguito su ciascun nodo di destinazione che elabora le azioni richieste in base alle configurazioni inviate tramite push. Un server di pull è un servizio Web eseguito in un host centrale per archiviare le configurazioni DSC e le risorse associate. Il server di pull comunica con il motore LCM su ogni host di destinazione per fornire le configurazioni necessarie e rendicontare sulla conformità.
Scopri come:
Estensione script personalizzati di Azure
L'estensione script personalizzato di Azure per Linux o Windows scarica ed esegue script nelle macchine virtuali di Azure. È possibile usare l'estensione quando si crea una macchina virtuale o in qualsiasi momento dopo l'uso della macchina virtuale.
Gli script possono essere scaricati da archiviazione di Azure o da qualsiasi posizione pubblica, ad esempio un repository GitHub. Con l'estensione script personalizzata è possibile scrivere script in qualsiasi linguaggio eseguito nella macchina virtuale di origine. Questi script possono essere usati per installare applicazioni o configurare la macchina virtuale in base alle esigenze. Per proteggere le credenziali, le informazioni riservate, ad esempio le password, possono essere archiviate in una configurazione protetta. Queste credenziali vengono decrittografate solo all'interno della macchina virtuale.
Scopri come:
- Creare una macchina virtuale Linux con l'interfaccia della riga di comando di Azure e usare l'estensione script personalizzata.
- Creare una macchina virtuale Windows con Azure PowerShell e usare l'estensione script personalizzata.
Ansible
Ansible è un motore di automazione per la gestione della configurazione, la creazione di macchine virtuali o la distribuzione di applicazioni. Ansible usa un modello senza agente, in genere con chiavi SSH, per autenticare e gestire i computer di destinazione. Le attività di configurazione vengono definite nei playbook, con diversi moduli Ansible disponibili per eseguire attività specifiche. Per altre informazioni, vedere Funzionamento di Ansible.
Scopri come:
- Installare e configurare Ansible in Linux per l'uso con Azure.
- Creare una macchina virtuale Linux.
- Gestire una macchina virtuale Linux.
Chef
Chef è una piattaforma di automazione che consente di definire il modo in cui l'infrastruttura è configurata, distribuita e gestita. Alcuni componenti includono Chef Habitat per l'automazione del ciclo di vita dell'applicazione anziché l'infrastruttura e Chef InSpec che consente di automatizzare la conformità ai requisiti di sicurezza e criteri. I client Chef vengono installati nei computer di destinazione, con uno o più server Chef centrali che archiviano e gestiscono le configurazioni. Per altre informazioni, vedere Panoramica di Chef.
Scopri come:
- Distribuire Chef Automate da Azure Marketplace.
- Installare Chef in Windows e creare macchine virtuali di Azure.
burattino
Puppet è una piattaforma di automazione pronta per l'organizzazione che gestisce il processo di distribuzione e distribuzione delle applicazioni. Gli agenti vengono installati nei computer di destinazione per consentire a Puppet Master di eseguire manifesti che definiscono la configurazione desiderata dell'infrastruttura e delle macchine virtuali di Azure. Puppet può essere integrato con altre soluzioni, ad esempio Jenkins e GitHub, per un flusso di lavoro devops migliorato. Per altre informazioni, vedere Funzionamento di Puppet.
Scopri come:
Imballatore
Packer automatizza il processo di compilazione quando si crea un'immagine di macchina virtuale personalizzata in Azure. Si usa Packer per definire il sistema operativo ed eseguire script di post-configurazione che personalizzano la macchina virtuale in base alle esigenze specifiche. Una volta configurata, la macchina virtuale viene quindi acquisita come immagine del disco gestito. Packer automatizza il processo per creare la macchina virtuale di origine, le risorse di rete e di archiviazione, eseguire script di configurazione e quindi creare l'immagine della macchina virtuale.
Scopri come:
- Usare Packer per creare un'immagine di macchina virtuale Linux in Azure.
- Usare Packer per creare un'immagine di macchina virtuale Windows in Azure.
Jenkins
Jenkins è un server di integrazione continua che consente di distribuire e testare applicazioni e creare pipeline automatizzate per il recapito del codice. Ci sono centinaia di plug-in per estendere la piattaforma Jenkins principale, ed è anche possibile integrarsi con molti altri prodotti e soluzioni tramite webhook. È possibile installare manualmente Jenkins in una macchina virtuale di Azure, eseguire Jenkins da un contenitore Docker o usare un'immagine predefinita di Azure Marketplace.
Scopri come:
Passaggi successivi
Esistono molte opzioni diverse per usare gli strumenti di automazione dell'infrastruttura in Azure. Si ha la libertà di usare la soluzione più adatta alle esigenze e all'ambiente. Per iniziare e provare alcuni degli strumenti predefiniti in Azure, vedere come automatizzare la personalizzazione di una macchina virtuale Linux o Windows .