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.
Annotazioni
Questo documento illustra i set di scalabilità di macchine virtuali in esecuzione in modalità di orchestrazione uniforme. È consigliabile usare l'orchestrazione flessibile per i nuovi carichi di lavoro. Per altre informazioni, vedere Modalità di orchestrazione per i set di scalabilità di macchine virtuali in Azure.
Per eseguire applicazioni nelle istanze di macchine virtuali (VM) in un set di scalabilità, è necessario prima installare i componenti dell'applicazione e i file necessari. Questo articolo illustra come creare un'immagine di macchina virtuale personalizzata per le istanze di un set di scalabilità o eseguire automaticamente gli script di installazione nelle istanze di macchine virtuali esistenti. Imparerai anche come gestire gli aggiornamenti dell'applicazione o del sistema operativo in un insieme di scalabilità.
Installare un'app usando le applicazioni di macchine virtuali
Le applicazioni di macchine virtuali di Azure offrono un modo semplificato, scalabile e sicuro per creare pacchetti, gestire e distribuire applicazioni tra macchine virtuali di Azure, set di scalabilità di macchine virtuali (VMSS). Le applicazioni vm sono il metodo più adatto per la distribuzione di strumenti, agenti, app di intelligenza artificiale, componenti di sicurezza e applicazioni line-of-business in Azure. È progettato per distribuire carichi di lavoro di intelligenza artificiale, sicuri, su larga scala, a bassa latenza e conformi nelle macchine virtuali di Azure.
Vantaggi principali:
-
Gestione centralizzata e flessibile delle applicazioni:
- Pacchettizza una volta, distribuisci ovunque: impacchetta le applicazioni nei formati ZIP, MSI o EXE e gestiscile centralmente nella Azure Compute Gallery.
- Controllo della versione: gestire più versioni delle applicazioni, consentendo ai team di distribuire la versione più recente o specifica in base alle esigenze.
-
Condivisione e controllo di accesso senza problemi
- Tenant-Wide Condivisione: condividere le applicazioni all'interno dei team o nell'intera organizzazione (tenant).
- Controllo degli accessi in base al ruolo integrato: controllare l'accesso alla pubblicazione e alla distribuzione con Il controllo degli accessi in base al ruolo di Azure Role-Based.
-
Distribuzioni affidabili e personalizzabili
- Controllo app singolo: installare, aggiornare o eliminare applicazioni in modo indipendente, senza dover ricompilare le immagini delle macchine virtuali.
- Operazioni personalizzabili: personalizzare le operazioni di installazione, aggiornamento ed eliminazione per le applicazioni, inclusa la gestione del riavvio.
- Built-In Gestione dei guasti: garantire distribuzioni resilienti collegando i fallimenti dell'applicazione della macchina virtuale ai fallimenti della macchina virtuale.
-
Distribuzione scalabile e Low-Latency
- Replica globale e Intra-Region: replicare automaticamente le applicazioni tra aree e all'interno di aree per ridurre la latenza e migliorare la resilienza, senza bisogno di AzCopy o trasferimenti manuali.
- Ottimizzato per scenari di High-Scale: ottenere bassa latenza di creazione anche durante distribuzioni su larga scala.
-
Sicurezza e conformità in base alla progettazione
- Imposizione basata su criteri: usare Criteri di Azure per applicare la presenza e la configurazione delle applicazioni nella flotta.
- Distribuzioni sicure: evitare download basati su Internet e configurazioni complesse dei collegamenti privati, ideali per ambienti bloccati.
-
Supporto generale della piattaforma
- Macchine virtuali e set di scalabilità: eseguire la distribuzione in singole macchine virtuali, set di scalabilità flessibili o set di scalabilità uniformi con supporto completo.
- Supporto BLOB in blocchi: gestire in modo efficiente pacchetti di applicazioni di grandi dimensioni usando BLOB in blocchi per i caricamenti in blocchi e lo streaming in background.
Creare e distribuire app per macchine virtuali
- Panoramica delle app per le macchine virtuali
- Creare e distribuire app per macchine virtuali in una macchina virtuale Linux
- Creare e distribuire app per macchine virtuali in una macchina virtuale Windows
Creare un'immagine di macchina virtuale personalizzata
Quando si usa una delle immagini della piattaforma Azure per creare le istanze nel set di scalabilità, nessun altro software viene installato o configurato. È possibile automatizzare l'installazione di questi componenti; tuttavia, ciò aggiunge al tempo necessario per effettuare il provisioning delle istanze di VM ai set di scalabilità. Se si applicano molte modifiche di configurazione alle istanze della macchina virtuale, si verifica un sovraccarico di gestione con tali script e attività di configurazione.
Per ridurre la gestione della configurazione e il tempo necessario per effettuare il provisioning di una macchina virtuale, è possibile creare un'immagine di macchina virtuale personalizzata pronta per l'esecuzione dell'applicazione non appena viene effettuato il provisioning di un'istanza nel set di scalabilità. Per altre informazioni su come creare e usare un'immagine di macchina virtuale personalizzata con un set di scalabilità, vedere le esercitazioni seguenti:
Installare un'app con l'estensione script personalizzata
L'estensione script personalizzata scarica ed esegue gli script sulle macchine virtuali di Azure. Questa estensione è utile per la configurazione post-distribuzione, l'installazione di software o qualsiasi altra attività di configurazione o gestione. Gli script possono essere scaricati dall'archiviazione di Azure o da GitHub oppure possono essere forniti al portale di Azure durante il runtime dell'estensione. Per altre informazioni su come installare un'app con un'estensione script personalizzata, vedere le esercitazioni seguenti:
Installare un'app in una macchina virtuale Windows con PowerShell DSC
PowerShell Desired State Configuration (DSC) è una piattaforma di gestione per definire la configurazione dei computer di destinazione. 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.
L'estensione DSC di PowerShell consente di personalizzare le istanze di VM in un set di macchine virtuali scalabili con PowerShell. L'esempio seguente:
- Indica alle istanze della macchina virtuale di scaricare un pacchetto DSC da GitHub - https://github.com/Azure-Samples/compute-automation-configurations/raw/master/dsc.zip
- Imposta l'estensione per eseguire uno script di installazione:
configure-http.ps1 - Ottiene informazioni su un set di scalabilità con Get-AzVmss
- Applica l'estensione alle istanze di macchina virtuale con Update-AzVmss
L'estensione DSC viene applicata alle istanze di macchina virtuale myScaleSet nel gruppo di risorse denominato myResourceGroup. Immettere i propri nomi come indicato di seguito:
# Define the script for your Desired Configuration to download and run
$dscConfig = @{
"wmfVersion" = "latest";
"configuration" = @{
"url" = "https://github.com/Azure-Samples/compute-automation-configurations/raw/master/dsc.zip";
"script" = "configure-http.ps1";
"function" = "WebsiteTest";
};
}
# Get information about the scale set
$vmss = Get-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet"
# Add the Desired State Configuration extension to install IIS and configure basic website
$vmss = Add-AzVmssExtension `
-VirtualMachineScaleSet $vmss `
-Publisher Microsoft.Powershell `
-Type DSC `
-TypeHandlerVersion 2.24 `
-Name "DSC" `
-Setting $dscConfig
# Update the scale set and apply the Desired State Configuration extension to the VM instances
Update-AzVmss `
-ResourceGroupName "myResourceGroup" `
-Name "myScaleSet" `
-VirtualMachineScaleSet $vmss
Se la politica di aggiornamento nel set di scalabilità è manuale, aggiorna le istanze della macchina virtuale con Update-AzVmssInstance. Questo cmdlet applica la configurazione aggiornata del set di scalabilità alle istanze della macchina virtuale e installa l'applicazione.
Installare un'app in una macchina virtuale Linux con 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. Quando cloud-init viene eseguito durante il processo di avvio iniziale non vi sono altri passaggi o agenti necessari per applicare la configurazione.
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.
Per altre informazioni, incluso un file di esempiocloud-init.txt , vedere Usare cloud-init per personalizzare le macchine virtuali di Azure.
Per creare un set di scalabilità e usare un file cloud-init, aggiungere il --custom-data parametro al comando az vmss create e specificare il nome di un file cloud-init. L'esempio seguente crea un set di scalabilità denominato myScaleSet in myResourceGroup e configura le istanze di macchine virtuali con un file denominato cloud-init.txt. Immettere i propri nomi come indicato di seguito:
Importante
A partire da novembre 2023, i set di scalabilità delle macchine virtuali creati utilizzando PowerShell e l'interfaccia della riga di comando di Azure utilizzano per impostazione predefinita la modalità di orchestrazione flessibile, se non viene specificata alcuna modalità di orchestrazione. Per ulteriori informazioni su questa modifica e su quali azioni intraprendere, andare a Cambio Critico per i clienti PowerShell/CLI dei set di scalabilità di macchine virtuali - Hub della community di Microsoft
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--image Ubuntu2204 \
-–orchestration-mode uniform \
--upgrade-policy-mode automatic \
--custom-data cloud-init.txt \
--admin-username azureuser \
--generate-ssh-keys
Installare applicazioni con gli aggiornamenti del sistema operativo
Quando sono disponibili nuove versioni del sistema operativo, è possibile usare o creare una nuova immagine personalizzata e distribuire gli aggiornamenti del sistema operativo su un set di scalabilità. Ogni istanza di macchina virtuale viene aggiornata all'immagine più recente specificata. È possibile usare un'immagine personalizzata con l'applicazione preinstallata, l'estensione per script personalizzati o PowerShell DSC per rendere l'applicazione automaticamente disponibile durante l'aggiornamento. Potrebbe essere necessario pianificare la manutenzione dell'applicazione durante l'esecuzione di questo processo per assicurarsi che non siano presenti problemi di compatibilità delle versioni.
Se si usa un'immagine di macchina virtuale personalizzata con l'applicazione preinstallata, è possibile integrare gli aggiornamenti dell'applicazione con una pipeline di distribuzione per compilare le nuove immagini e distribuire gli aggiornamenti del sistema operativo nel set di scalabilità. Questo approccio consente alla pipeline di raccogliere le compilazioni più recenti dell'applicazione, creare e convalidare un'immagine di macchina virtuale, quindi aggiornare le istanze di macchina virtuale nel set di scalabilità. Per eseguire una pipeline di distribuzione che compila e distribuisce gli aggiornamenti delle applicazioni tra immagini di macchine virtuali personalizzate, è possibile creare un'immagine Packer e distribuirla con Azure DevOps Services o usare un'altra piattaforma, ad esempio Spinnaker o Jenkins.
Passaggi successivi
Mentre si costruiscono e distribuiscono le applicazioni ai tuoi gruppi di scalabilità, è possibile esaminare la panoramica della progettazione dei gruppi di scalabilità. Per altre informazioni su come gestire il set di scalabilità, vedere Usare PowerShell per gestire il set di scalabilità.