Příprava virtuálního počítače s Ubuntu pro Azure
Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s Linuxem ✔️
Ubuntu teď publikuje oficiální virtuální pevné disky Azure (VHD) ke stažení na webové stránce s obrázky cloudu Ubuntu. Pokud potřebujete vytvořit vlastní specializovanou image Ubuntu pro Azure místo ručního postupu, který následuje, začněte těmito známými funkčními virtuálními pevnými disky a podle potřeby je upravte. Nejnovější verze imagí můžete kdykoli najít v následujících umístěních:
- Ubuntu 18.04/Bionic: bionic-server-cloudimg-amd64-azure.vhd.zip
- Ubuntu 20.04/Focal: focal-server-cloudimg-amd64-azure.vhd.zip
- Ubuntu 22.04/Jammy: jammy-server-cloudimg-amd64-azure.vhd.zip
Požadavky
Tento článek předpokládá, že jste již nainstalovali operační systém Ubuntu Linux (OS) na virtuální pevný disk. Existuje několik nástrojů pro vytvoření souborů .vhd. Příkladem je virtualizační řešení, jako je Hyper-V. Pokyny najdete v tématu Instalace role Hyper-V a konfigurace virtuálního počítače.
Poznámky k instalaci Ubuntu
- Další tipy k přípravě Linuxu pro Azure najdete v obecných poznámkách k instalaci Linuxu.
- Formát VHDX není v Azure podporovaný, pouze pevný virtuální pevný disk. Disk můžete převést na formát VHD pomocí Správce technologie Hyper-V nebo rutiny
Convert-VHD
. - Při instalaci systému Linux doporučujeme používat standardní oddíly místo Správce logických svazků (LVM), což je často výchozí nastavení pro mnoho instalací. Tyto standardní oddíly zabraňují konfliktům názvů LVM s klonovanými virtuálními počítači, zejména pokud by se disk s operačním systémem někdy potřeboval připojit k jinému virtuálnímu počítači pro účely řešení potíží. LVM nebo RAID lze také použít na datových discích.
- Nenakonfigurujte prohození oddílu ani prohození souboru na disku s operačním systémem. Agenta
cloud-init
zřizování můžete nakonfigurovat tak, aby na dočasném disku prostředku vytvořil prohození souboru nebo prohození oddílu. Další informace o tomto procesu najdete v následujících krocích. - Všechny virtuální pevné disky v Azure musí mít virtuální velikost zarovnanou na 1 MB. Při převodu z nezpracovaného disku na virtuální pevný disk je nutné před převodem zajistit, aby velikost nezpracovaného disku byla násobkem 1 MB. Další informace najdete v poznámkách k instalaci Linuxu.
Ruční kroky
Poznámka:
Než se pokusíte vytvořit vlastní image Ubuntu pro Azure, zvažte místo toho použití předem připravených a otestovaných imagí z webové stránky Obrázky cloudu Ubuntu.
V prostředním podokně Správce technologie Hyper-V vyberte virtuální počítač.
Výběrem možnosti Připojit otevřete okno virtuálního počítače.
Nahraďte aktuální úložiště v imagi tak, aby používala úložiště Azure s Ubuntu.
Před úpravou
/etc/apt/sources.list
doporučujeme vytvořit zálohu:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's#http://archive\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list sudo sed -i 's#http://[a-z][a-z]\.archive\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list sudo sed -i 's#http://security\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list sudo sed -i 's#http://[a-z][a-z]\.security\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list sudo apt-get update
Image Ubuntu Azure teď používají jádro na míru Azure. Aktualizujte operační systém na nejnovější jádro na míru Azure a nainstalujte nástroje Azure Linuxu (včetně závislostí Hyper-V):
sudo apt update sudo apt install linux-azure linux-image-azure linux-headers-azure linux-tools-common linux-cloud-tools-common linux-tools-azure linux-cloud-tools-azure sudo apt full-upgrade sudo reboot
Upravte spouštěcí řádek jádra pro GRUB tak, aby zahrnoval další parametry jádra pro Azure. Pokud chcete tento krok provést, otevřete
/etc/default/grub
v textovém editoru, vyhledejte proměnnou s názvemGRUB_CMDLINE_LINUX_DEFAULT
(nebo ji v případě potřeby přidejte) a upravte ji tak, aby obsahovala následující parametry:GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0,115200 rootdelay=300 quiet splash"
Uložte a zavřete tento soubor a spusťte
sudo update-grub
příkaz . Tento krok zajistí, že se všechny zprávy konzoly posílají na první sériový port, který může pomoct technické podpoře Azure při ladění problémů.Ujistěte se, že je server SSH nainstalovaný a nakonfigurovaný tak, aby se spustil při spuštění. Toto nastavení je obvykle výchozí.
Nainstalujte
cloud-init
(zřizovacího agenta) a agenta Azure Linux (obslužná rutina rozšíření hosta).Cloud-init
používánetplan
ke konfiguraci systémové sítě (během zřizování a každého následného spuštění) agdisk
k dělení disků prostředků.sudo apt update sudo apt install cloud-init gdisk netplan.io walinuxagent && systemctl stop walinuxagent
Poznámka:
Balíček
walinuxagent
může odebratNetworkManager
aNetworkManager-gnome
balíčky, pokud jsou nainstalované.Odeberte
cloud-init
výchozí konfigurace a artefakty,netplan
které můžou být v konfliktu se zřizovánímcloud-init
v Azure:sudo rm -f /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg /etc/cloud/cloud.cfg.d/curtin-preserve-sources.cfg /etc/cloud/cloud.cfg.d/99-installer.cfg /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg sudo rm -f /etc/cloud/ds-identify.cfg sudo rm -f /etc/netplan/*.yaml
Nakonfigurujte
cloud-init
zřízení systému pomocí zdroje dat Azure:cat <<EOF | sudo tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg datasource_list: [ Azure ] EOF cat <<EOF | sudo tee /etc/cloud/cloud.cfg.d/90-azure.cfg system_info: package_mirrors: - arches: [i386, amd64] failsafe: primary: http://archive.ubuntu.com/ubuntu security: http://security.ubuntu.com/ubuntu search: primary: - http://azure.archive.ubuntu.com/ubuntu/ security: [] - arches: [armhf, armel, default] failsafe: primary: http://ports.ubuntu.com/ubuntu-ports security: http://ports.ubuntu.com/ubuntu-ports EOF cat <<EOF | sudo tee /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg reporting: logging: type: log telemetry: type: hyperv EOF
Nakonfigurujte agenta Azure s Linuxem tak, aby se spoléhal na
cloud-init
provádění zřizování. Další informace o těchto možnostech najdete v projektu WALinuxAgent.sudo sed -i 's/Provisioning.Enabled=y/Provisioning.Enabled=n/g' /etc/waagent.conf sudo sed -i 's/Provisioning.UseCloudInit=n/Provisioning.UseCloudInit=y/g' /etc/waagent.conf sudo sed -i 's/ResourceDisk.Format=y/ResourceDisk.Format=n/g' /etc/waagent.conf sudo sed -i 's/ResourceDisk.EnableSwap=y/ResourceDisk.EnableSwap=n/g' /etc/waagent.conf
cat <<EOF | sudo tee -a /etc/waagent.conf # For Azure Linux agent version >= 2.2.45, this is the option to configure, # enable, or disable the provisioning behavior of the Linux agent. # Accepted values are auto (default), waagent, cloud-init, or disabled. # A value of auto means that the agent will rely on cloud-init to handle # provisioning if it is installed and enabled, which in this case it will. Provisioning.Agent=auto EOF
Vyčištění
cloud-init
artefaktů a protokolů modulu runtime agenta Azure s Linuxem:sudo cloud-init clean --logs --seed sudo rm -rf /var/lib/cloud/ sudo systemctl stop walinuxagent.service sudo rm -rf /var/lib/waagent/ sudo rm -f /var/log/waagent.log
Zrušte zřízení virtuálního počítače a připravte ho na zřizování v Azure.
Poznámka:
Příkaz
sudo waagent -force -deprovision+user
zobecní image tím, že se pokusí systém vyčistit a nastavit ho jako vhodný pro opětovné zřízení. Tato+user
možnost odstraní poslední zřízený uživatelský účet a přidružená data.sudo waagent -force -deprovision+user sudo rm -f ~/.bash_history
Upozorňující
Zrušení zřízení pomocí předchozího příkazu nezaručuje, že image bude vymazána ze všech citlivých informací a je vhodná pro redistribuci.
Ve Správci technologie Hyper-V vyberte akci>vypnout.
Azure přijímá jenom virtuální pevné pevné disky. Pokud disk s operačním systémem virtuálního počítače není pevným virtuálním pevným diskem, použijte rutinu
Convert-VHD
PowerShellu a zadejte-VHDType Fixed
možnost. Další informace najdete v dokumentaci kConvert-VHD
převodu virtuálního pevného disku.Pokud chcete přenést virtuální počítač 2. generace do Azure, postupujte takto:
Změňte adresář na
boot EFI
adresář:cd /boot/efi/EFI
ubuntu
Zkopírujte adresář do nového adresáře s názvemboot
:sudo cp -r ubuntu/ boot
Změňte adresář na nově vytvořený spouštěcí adresář:
cd boot
shimx64.efi
Přejmenujte soubor:sudo mv shimx64.efi bootx64.efi
grub.cfg
Přejmenujte soubor nabootx64.cfg
:sudo mv grub.cfg bootx64.cfg
Související obsah
Teď jste připraveni použít virtuální pevný disk s Ubuntu Linuxem k vytvoření nových virtuálních počítačů v Azure. Pokud soubor .vhd nahráváte do Azure poprvé, přečtěte si téma Vytvoření virtuálního počítače s Linuxem z vlastního disku.