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.
Questo articolo illustra come preparare un'immagine di Ubuntu Azure Marketplace da usare con macchine virtuali locali di Azure. Seguendo questa procedura, assicurarsi che la macchina virtuale disponga degli aggiornamenti, del supporto e delle funzionalità di integrazione più recenti per la sicurezza.
Prerequisiti
Una sottoscrizione di Azure attiva con autorizzazioni per configurare e concedere licenze a una macchina virtuale Ubuntu usando LaVM (Logical Volume Management), ad esempio Ubuntu 22.04 o versione successiva.
Accesso al portale di Azure.
Un cluster locale di Azure configurato con una rete logica e un percorso di archiviazione per i carichi di lavoro. Per altre informazioni, vedere Creare reti logiche e Creare percorsi di archiviazione.
Assicurarsi di esaminare e completare i prerequisiti.
Se si usa un client per connettersi all'istanza di Azure locale, vedere Connettersi ad Azure locale tramite il client CLI di Azure.
Accedere e impostare la sottoscrizione
Connettersi a un computer nell'istanza locale di Azure.
Accedere e immettere il comando seguente:
az login --use-device-codeImpostare la sottoscrizione.
az account set --subscription <Subscription ID>
Configurare e preparare una macchina virtuale di Azure
Per configurare e preparare una macchina virtuale di Azure, seguire questa procedura:
Accedi al portale di Azure.
Nel riquadro sinistro selezionare Macchine virtuali, quindi selezionare Crea e quindi selezionare Macchina virtuale.
Esplorare le immagini disponibili e scegliere la versione di Ubuntu preferita.
Immettere i dettagli necessari nella procedura guidata e completare la configurazione della macchina virtuale di Azure.
Annotazioni
Evitare conflitti di nome utente creando la macchina virtuale di Azure con un nome utente che non si usa in Locale di Azure. Se si usa lo stesso nome utente (ad esempio, "usernameA") sia nella macchina virtuale di Azure che in Quella locale di Azure e quindi si riutilizza il disco rigido virtuale, la macchina virtuale mantiene le informazioni di accesso originali. Per ottenere risultati ottimali, configurare macchine virtuali locali di Azure con credenziali diverse, ad esempio "usernameB".
Dopo aver distribuito la macchina virtuale, passare alla pagina di panoramica della macchina virtuale , selezionare l'opzione Connetti e quindi selezionare Console seriale.
Connettersi alla macchina virtuale con le credenziali ed eseguire questi comandi:
Accedere alla macchina virtuale come utente radice:
sudo suPulire la
cloud-initconfigurazione predefinita perché non è pertinente per le macchine virtuali locali di Azure.sudo cloud-init clean sudo rm -rf /var/lib/cloud/ /var/log/* /tmp/*Pulire le chiavi host SSH specifiche della macchina virtuale.
sudo rm -f /etc/ssh/ssh_host*
Modificare l'origine dati dell'immagine della macchina virtuale
Per modificare l'origine dati dell'immagine della macchina virtuale, seguire questa procedura:
Modificare la directory nel percorso seguente ed elencare i file per individuare il file
90_dpkg.cfgdi origine dati . Eseguire questi comandi:cd /etc/cloud/cloud.cfg.d/ lsOutput di esempio:
azureuser@ubuntu-image:/etc/cloud/cloud.cfg.d$ ls 05_logging.cfg 10-azure-kvp.cfg 90-azure.cfg 90_dpkg.cfgApri il file
90_dpkg.cfg. Eseguire questo comando:cat 90_dpkg.cfgOutput di esempio:
azureuser@ubuntu-image:/etc/cloud/cloud.cfg.d$ cat 90_dpkg.cfg # to update this file, run dpkg-reconfigure cloud-init datasource_list: [ Azure ]Aprire e aggiornare il datasource_list da Azure a NoCloud. Eseguire questo comando:
sudo dpkg-reconfigure cloud-initOutput di esempio:
Cloud-init supports searching different "Data Sources" for information that it uses to configure a cloud instance. Warning: Only select 'Ec2' if this system will be run on a system with the EC2 metadata service present. Doing so incorrectly will result in a substantial timeout on boot. Which data sources should be searched? [ ] NoCloud: Reads info from /var/lib/cloud/seed only [ ] ConfigDrive: Reads data from Openstack Config Drive [ ] OpenNebula: read from OpenNebula context disk [ ] DigitalOcean: reads data from Droplet datasource [*] Azure: read from MS Azure cdrom. Requires walinux-agent <Ok>Attivare o disattivare (*) premendo la barra spaziatrice per attivare NoCloud e rimuovere Azure.
Salvare il file premendo INVIO.
Output di esempio:
Cloud-init supports searching different "Data Sources" for information that it uses to configure a cloud instance. Warning: Only select 'Ec2' if this system will be run on a system with the EC2 metadata service present. Doing so incorrectly will result in a substantial timeout on boot. Which data sources should be searched? [*] NoCloud: Reads info from /var/lib/cloud/seed only [ ] ConfigDrive: Reads data from Openstack Config Drive [ ] OpenNebula: read from OpenNebula context disk [ ] DigitalOcean: reads data from Droplet datasource [ ] Azure: read from MS Azure cdrom. Requires walinux-agent <Ok>Per verificare che il file sia stato aggiornato, eseguire questo comando:
cat 90_dpkg.cfgOutput di esempio:
azureuser@ubuntu-image:/etc/cloud/cloud.cfg.d$ cat 90_dpkg.cfg # to update this file, run dpkg-reconfigure cloud-init datasource_list: [ NoCloud ]Rimuovere la cronologia bash. Eseguire i comandi seguenti:
sudo rm -f ~/.bash_history export HISTSIZE=0 exitArrestare la macchina virtuale di Azure al termine delle modifiche alla configurazione.
Esportare un disco del sistema operativo della macchina virtuale di Azure in un disco rigido virtuale nel cluster locale di Azure
Per esportare un disco del sistema operativo della macchina virtuale di Azure in un disco rigido virtuale nel cluster locale di Azure, seguire questa procedura:
Nel portale di Azure per la risorsa Azure Local, vai alla panoramica della macchina virtuale. Nell'opzione Impostazioni selezionare Dischi e selezionare il collegamento Nome dischi .
In Impostazioni selezionare Esportazione disco e quindi genera URL per generare un URL sicuro per il disco.
Copiare il collegamento dell'URL sicuro generato per il passaggio successivo.
Annotazioni
L'URL di esportazione del disco è un URL SAS con firma di accesso condiviso a tempo limitato.
Se l'URL scade, viene copiato in modo non corretto o non dispone delle autorizzazioni di lettura (r), il passaggio di creazione dell'immagine potrebbe non riuscire con un errore 401 (non autorizzato).
Se si verifica un errore 401, rigenerare l'URL di esportazione del disco e assicurarsi che venga usato prima della scadenza e incollato senza virgolette aggiuntive o interruzioni di riga.
Creare un'immagine locale di Azure
Per creare un'immagine locale di Azure usando il token di firma di accesso condiviso, eseguire questo comando:
$rg = "<resource-group>"
$cl = "/subscriptions/<sub>/resourcegroups/$rg/providers/microsoft.extendedlocation/customlocations/<customlocation-name>"
$sas = '"https://EXAMPLE.blob.storage.azure.net/EXAMPLE/abcd<sas-token>"'
az stack-hci-vm image create -g $rg --custom-location $cl --name "<IMAGE-NAME>" --os-type "Linux" --image-path $sas
Creare una macchina virtuale locale di Azure
Per creare una macchina virtuale locale di Azure usando l'immagine della macchina virtuale locale di Azure creata, seguire la procedura descritta in Creare macchine virtuali locali di Azure abilitate da Azure Arc.