Rafforzare un'immagine Linux per rimuovere l'agente guest di Azure
Si applica a: ✔️ immagini Linux
Azure supporta due agenti di provisioning, ovvero cloud-init e l'agente Linux di Azure (WALA), che stabilisce i prerequisiti per la creazione delle immagini generalizzate (Raccolta di calcolo di Azure o immagine gestita). L'agente di Linux di Azure contiene il codice dell'agente di provisioning e il codice per la gestione delle estensioni in un unico pacchetto.
È fondamentale comprendere quali funzionalità perde la macchina virtuale prima di decidere di rimuovere l'agente Linux di Azure. La rimozione dell'agente guest rimuove le funzionalità enumerate in Agente Linux di Azure.
Questo articolo pratico illustra la procedura per rimuovere l'agente guest dall'immagine Linux.
Prerequisiti
- Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
- Un'immagine Ubuntu: è possibile sceglierne una da Azure Marketplace.
Rimuovere l'agente Linux di Azure e preparare un'immagine Linux generalizzata
La procedura per creare un'immagine che rimuove l'agente Linux di Azure è la seguente:
Scaricare un'immagine Ubuntu.
Montare l'immagine.
Seguire le istruzioni nel passaggio 2 della procedura per rimuovere gli utenti sudo dall'immagine Linux per montare l'immagine.
Rimuovere l'agente Linux di Azure
Eseguire la procedura come utente root per rimuovere l'agente Linux di Azure
Per Ubuntu 18.04+
sudo chroot /mnt/dev/$imagedevice/ apt -y remove walinuxagent
Nota
Se si sa che l'agente Linux non verrà reinstallato di nuovo rimuovere gli artefatti dell'agente Linux di Azure. È possibile eseguire la procedura seguente.
(Facoltativo) Rimuovere gli artefatti dell'agente Linux di Azure.
Se si sa che l'agente Linux non verrà reinstallato di nuovo, è possibile eseguire il passaggio seguente:
Per Ubuntu 18.04+
sudo chroot /mnt/dev/$imagedevice/ rm -rf /var/lib/walinuxagent sudo chroot /mnt/dev/$imagedevice/ rm -rf /etc/ walinuxagent.conf sudo chroot /mnt/dev/$imagedevice/ rm -rf /var/log/ walinuxagent.log
Creare un servizio systemd per effettuare il provisioning della macchina virtuale.
Poiché si sta rimuovendo l'agente Linux di Azure, è necessario fornire un meccanismo per segnalare lo stato di pronto. Copiare il contenuto dello script Bash o dello script Python che si trova qui nell'immagine montata e rendere eseguibile il file (ad esempio, concedere l'autorizzazione di esecuzione per il file - chmod).
sudo chmod +x /mnt/dev/$imagedevice/usr/local/azure-provisioning.sh
Per assicurarsi che sia disponibile il meccanismo per segnalare lo stato di pronto, creare un'unità di servizio systemd e aggiungere quanto segue a /etc/systemd/system (in questo esempio il file di unità si chiama azure-provisioning.service)
sudo chroot /mnt/dev/$imagedevice/ systemctl enable azure-provisioning.service
Ora l'immagine è generalizzata e può essere usata per creare una macchina virtuale.
Smontare l'immagine.
umount /mnt/dev/$imagedevice
L'immagine preparata non include più l'agente Linux di Azure.
Usare l'immagine preparata per distribuire una macchina virtuale riservata.
Seguire i passaggi a partire da 4 nel documento Creare un'immagine personalizzata per la macchina virtuale riservata di Azure per distribuire la macchina virtuale riservata senza agente.
Nota
Se si sta cercando di distribuire la macchina virtuale riservata ridimensionata con l'immagine personalizzata, si noti che alcune funzionalità correlate al ridimensionamento automatico saranno limitate. Le regole di ridimensionamento manuale continueranno a funzionare come previsto, ma la capacità di ridimensionamento automatico sarà limitata a causa dell'immagine personalizzata senza agente. Altre informazioni sulle restrizioni sono disponibili qui per l'agente di provisioning. In alternativa, è possibile passare alla scheda delle metriche nel portale di Azure e verificare le stesse informazioni.
Passaggi successivi
Creare un'immagine personalizzata per una macchina virtuale riservata di Azure