Přehled agenta virtuálního počítače Azure s Linuxem
Agent virtuálního počítače Microsoft Azure s Linuxem (waagent) spravuje zřizování Linuxu a FreeBSD spolu s interakcí virtuálního počítače s kontrolerem prostředků infrastruktury Azure. Kromě linuxového agenta poskytujícího funkce zřizování poskytuje Azure možnost používat cloud-init pro některé operační systémy Linux.
Agent Linuxu poskytuje následující funkce pro nasazení virtuálních počítačů Azure s Linuxem a FreeBSD. Další informace najdete v souboru readme agenta virtuálního počítače Azure s Linuxem na GitHubu.
Zřizování imagí
- Vytvoří uživatelský účet.
- Konfiguruje typy ověřování SSH.
- Nasadí veřejné klíče A páry klíčů SSH.
- Nastaví název hostitele.
- Publikuje název hostitele do DNS platformy.
- Hlásí otisk klíče hostitele SSH na platformu.
- Spravuje disk prostředku.
- Naformátuje a připojí disk prostředku.
- Konfiguruje prohození prostoru.
Sítě
- Spravuje trasy za účelem zlepšení kompatibility se servery DHCP platformy.
- Zajišťuje stabilitu názvu síťového rozhraní.
jádro
- Nakonfiguruje virtuální technologii NUMA (zakázaná pro jádro 2.6.37).
- Využívá entropii Hyper-V pro /dev/random
- Konfiguruje časové limity SCSI pro kořenové zařízení, které může být vzdálené.
Diagnostika
- Poskytuje přesměrování konzoly na sériový port.
Nasazení nástroje System Center Virtual Machine Manager
- Zjistí a spustí agenta Virtual Machine Manageru pro Linux, když je spuštěný v prostředí System Center Virtual Machine Manager 2012 R2.
Rozšíření virtuálního počítače
- Vloží komponenty vytvořené Microsoftem a partnery do virtuálních počítačů s Linuxem, aby bylo možné automatizovat software a konfiguraci.
Referenční implementaci rozšíření virtuálního počítače najdete na GitHubu.
Komunikace
K informačnímu toku z platformy do agenta dochází prostřednictvím dvou kanálů:
- Disk DVD připojený ke spuštění pro nasazení virtuálních počítačů. Tento DISK DVD obsahuje konfigurační soubor kompatibilní s open virtualization format (OVF), který obsahuje všechny informace o zřizování kromě párů klíčů SSH.
- Koncový bod TCP, který zveřejňuje rozhraní REST API, které slouží k získání konfigurace nasazení a topologie.
Požadavky
Testování potvrdilo, že následující systémy pracují s agentem virtuálního počítače Azure s Linuxem.
Poznámka:
Tento seznam se může lišit od schválených distribucí Linuxu v Azure.
Distribuce | x64 | ARM64 |
---|---|---|
Alma Linux | 9.x+ | 9.x+ |
Debian | 10+ | 11.x+ |
Flatcar Linux | 3374.2.x+ | 3374.2.x+ |
Azure Linux | 2.x | 2.x |
openSUSE | 12.3+ | Nepodporováno |
Oracle Linux | 6.4+, 7.x+, 8.x+ | Nepodporováno |
Red Hat Enterprise Linux | 6.7+, 7.x+, 8.x+, 9.x+ | 8.6+, 9.0+ |
Rocky Linux | 9.x+ | 9.x+ |
SLES | 12.x+, 15.x+ | 15.x SP4+ |
Ubuntu (verze LTS) | 18.04+, 20.04+, 22.04+, 24.04+ | 20.04+, 22.04+, 24.04+ |
Důležité
RHEL/Oracle Linux 6.10 je jediná verze RHEL/OL 6 s dostupnou rozšířenou podporou životního cyklu. Prodloužená údržba končí 30. června 2024.
Další podporované systémy:
- Agent funguje na více systémech, než jsou uvedené v dokumentaci. Neprovádíme ale testování ani neposkytujeme podporu distribucí, které nejsou na schváleném seznamu. Zejména FreeBSD není schváleno. Zákazník může vyzkoušet FreeBSD 8 a pokud narazí na problémy, může otevřít problém v našem úložišti GitHub a můžeme vám pomoct.
Agent Linuxu závisí na těchto systémových balíčcích, aby fungoval správně:
- Python 2.6 nebo novější
- OpenSSL 1.0 nebo novější
- OpenSSH 5.3 nebo novější
- Nástroje systému souborů: sfdisk, fdisk, mkfs, parted
- Nástroje pro hesla: chpasswd, sudo
- Nástroje pro zpracování textu: sed, grep
- Síťové nástroje: ip-route
- Podpora jádra pro připojení systémů souborů UDF
Ujistěte se, že váš virtuální počítač má přístup k IP adrese 168.63.129.16. Další informace najdete v tématu Co je IP adresa 168.63.129.16?.
Instalace
Podporovaná metoda instalace a upgradu agenta virtuálního počítače Azure s Linuxem využívá balíček RPM nebo DEB z úložiště balíčků vaší distribuce. Všichni schválení poskytovatelé distribuce integrují balíček agenta virtuálního počítače Azure s Linuxem do svých imagí a úložišť.
Některé distribuce Linuxu můžou zakázat funkci automatické aktualizace agenta virtuálního počítače Azure s Linuxem a některá úložiště můžou obsahovat také starší verze, které můžou mít problémy s moderními rozšířeními, takže doporučujeme mít nainstalovanou nejnovější stabilní verzi.
Pokud chcete zajistit, aby se agent virtuálního počítače Azure s Linuxem správně aktualizoval, doporučujeme mít v /etc/waagent.conf
souboru možnost AutoUpdate.Enabled=Y
nebo jednoduše okomentovat tuto možnost, což bude mít za následek i její výchozí hodnoty. Nepovolíte AutoUpdate.Enabled=N
, aby se agent virtuálního počítače Azure s Linuxem správně aktualizoval.
Pokročilé možnosti instalace, jako je instalace ze zdroje nebo do vlastních umístění nebo předpon, najdete v tématu Agent virtuálního počítače s Linuxem Microsoft Azure. Kromě těchto scénářů nepodporujeme ani nedoporučujeme upgrade ani přeinstalaci agenta virtuálního počítače Azure s Linuxem ze zdroje.
Možnosti příkazového řádku
Příznaky
verbose
: Zvyšuje úroveň podrobností zadaného příkazu.force
: Přeskočí interaktivní potvrzení některých příkazů.
Příkazy
help
: Zobrazí seznam podporovaných příkazů a příznaků.deprovision
: Pokusí se systém vyčistit a nastavit ho jako vhodný pro opětovné zřízení. Operace odstraní:- Všechny klíče hostitele SSH, pokud
Provisioning.RegenerateSshHostKeyPair
jsouy
v konfiguračním souboru. Nameserver
konfigurace v souboru /etc/resolv.conf.- Kořenové heslo z /etc/shadow, pokud
Provisioning.DeleteRootPassword
jey
v konfiguračním souboru. - Zapůjčení klienta DHCP v mezipaměti
Klient resetuje název hostitele na
localhost.localdomain
.Upozorňující
Zrušení zřízení nezaručuje, že se image vymaže ze všech citlivých informací a je vhodná pro redistribuci.
- Všechny klíče hostitele SSH, pokud
deprovision+user
: Provede vše vdeprovision
a odstraní poslední zřízený uživatelský účet (získaný z /var/lib/waagent) a přidružených dat. Tento parametr použijte, když zrušíte zřízení image, která byla dříve zřízena v Azure, aby ji bylo možné zachytit a znovu použít.version
: Zobrazí verzi waagentu.serialconsole
: Nakonfiguruje GRUB tak, aby označil ttyS0, první sériový port jako spouštěcí konzolu. Tato možnost zajistí, že se protokoly spouštění jádra odešlou na sériový port a zpřístupní se pro ladění.daemon
: Spustí waagent jako démon pro správu interakce s platformou. Tento argument je určen pro waagent ve skriptu inicializačního objektu waagent.start
: Spustí waagent jako proces na pozadí.
Konfigurace
Konfigurační soubor /etc/waagent.conf řídí akce waagentu. Tady je příklad konfiguračního souboru:
Provisioning.Enabled=y
Provisioning.DeleteRootPassword=n
Provisioning.RegenerateSshHostKeyPair=y
Provisioning.SshHostKeyPairType=rsa
Provisioning.MonitorHostName=y
Provisioning.DecodeCustomData=n
Provisioning.ExecuteCustomData=n
Provisioning.AllowResetSysUser=n
Provisioning.PasswordCryptId=6
Provisioning.PasswordCryptSaltLength=10
ResourceDisk.Format=y
ResourceDisk.Filesystem=ext4
ResourceDisk.MountPoint=/mnt/resource
ResourceDisk.MountOptions=None
ResourceDisk.EnableSwap=n
ResourceDisk.SwapSizeMB=0
LBProbeResponder=y
Logs.Verbose=n
OS.RootDeviceScsiTimeout=300
OS.OpensslPath=None
HttpProxy.Host=None
HttpProxy.Port=None
AutoUpdate.Enabled=y
Možnosti konfigurace jsou tři typy: Boolean
, String
nebo Integer
. Můžete zadat Boolean
možnosti konfigurace jako y
nebo n
. Speciální klíčové slovo None
může být použito pro některé položky konfigurace typu řetězce.
Zřizování.Enabled
Type: Boolean
Default: y
Tato možnost umožňuje uživateli povolit nebo zakázat funkce zřizování v agentu. Platné hodnoty jsou y
a n
. Pokud je zřizování zakázané, hostitel SSH a uživatelské klíče v imagi se zachovají a konfigurace v rozhraní API pro zřizování Azure se ignoruje.
Poznámka:
Výchozí Provisioning.Enabled
parametr je v n
imagích cloudu Ubuntu, které ke zřizování používají cloud-init.
Provisioning.DeleteRootPassword
Type: Boolean
Default: n
Pokud je y
tato hodnota, agent během procesu zřizování vymaže kořenové heslo v souboru /etc/shadow .
Provisioning.RegenerateSshHostKeyPair
Type: Boolean
Default: y
Pokud je y
tato hodnota, agent během procesu zřizování odstraní všechny páry klíčů hostitele SSH z /etc/ssh/ včetně ECDSA, DSA a RSA. Agent vygeneruje jednu čerstvou dvojici klíčů.
Pomocí této položky nakonfigurujte typ šifrování pro dvojici Provisioning.SshHostKeyPairType
s čerstvým klíčem. Některé distribuce znovu vytvoří páry klíčů SSH pro všechny chybějící typy šifrování, když se proces démon SSH restartuje– například po restartování.
Provisioning.SshHostKeyPairType
Type: String
Default: rsa
Tuto možnost můžete nastavit na typ šifrovacího algoritmu, který démon SSH na virtuálním počítači podporuje. Obvykle podporované hodnoty jsou rsa
, dsa
a ecdsa
. Soubor putty.exe ve Windows nepodporuje ecdsa
. Pokud máte v úmyslu použít putty.exe ve Windows pro připojení k nasazení Linuxu, použijte rsa
nebo dsa
.
Provisioning.MonitorHostName
Type: Boolean
Default: y
Pokud je y
hodnota , waagent monitoruje virtuální počítač s Linuxem pro změnu názvu hostitele, jak je vráceno příkazem hostname
. Waagent pak automaticky aktualizuje konfiguraci sítě v imagi tak, aby odrážela změnu. Pokud chcete odeslat změnu názvu na servery DNS, sítě se na virtuálním počítači restartují. Výsledkem tohoto restartování je krátká ztráta připojení k internetu.
Provisioning.DecodeCustomData
Type: Boolean
Default: n
Pokud je y
hodnota , waagent dededes CustomData
z Base64.
Provisioning.ExecuteCustomData
Type: Boolean
Default: n
Pokud je y
hodnota , waagent se spustí CustomData
po zřízení.
Provisioning.AllowResetSysUser
Type: Boolean
Default: n
Tato možnost umožňuje resetování hesla systémového uživatele. Ve výchozím nastavení je vypnuto.
Provisioning.PasswordCryptId
Type: String
Default: 6
Tato možnost určuje algoritmus, který crypt
se používá při generování hodnoty hash hesla. Platné hodnoty jsou:
1
: MD52a
:Čtverzubec5
: SHA-2566
: SHA-512
Provisioning.PasswordCryptSaltLength
Type: String
Default: 10
Tato možnost určuje délku náhodné soli použité při generování hodnoty hash hesla.
ResourceDisk.Format
Type: Boolean
Default: y
Pokud je y
hodnota , waagent formátuje a připojí disk prostředku, který platforma poskytuje, pokud typ systému souborů, ve ResourceDisk.Filesystem
které uživatel požádal, je ntfs
. Agent zpřístupňuje na disku jeden oddíl s Linuxem (ID 83). Pokud je možné ho úspěšně připojit, tento oddíl není naformátovaný.
ResourceDisk.Filesystem
Type: String
Default: ext4
Tato možnost určuje typ systému souborů pro disk prostředku. Podporované hodnoty se liší podle distribuce Linuxu. Pokud je X
řetězec , mkfs.X
měl by být na imagi Linuxu.
ResourceDisk.MountPoint
Type: String
Default: /mnt/resource
Tato možnost určuje cestu, ke které je připojený disk prostředku. Disk prostředku je dočasný disk a může se vyprázdnit při zrušení zřízení virtuálního počítače.
ResourceDisk.MountOptions
Type: String
Default: None
Tato možnost určuje možnosti připojení disku, které se mají předat mount -o
příkazu. Hodnota je čárkami oddělený seznam hodnot, nodev,nosuid
například . Další informace najdete na stránce s příručkou mount(8)
.
ResourceDisk.EnableSwap
Type: Boolean
Default: n
Pokud nastavíte tuto možnost, agent na disku prostředku vytvoří prohození souboru (/swapfile) a přidá ho do prostoru prohození systému.
ResourceDisk.SwapSizeMB
Type: Integer
Default: 0
Tato možnost určuje velikost prohození souboru v megabajtech.
Logs.Verbose
Type: Boolean
Default: n
Pokud tuto možnost nastavíte, zvýší se úroveň podrobností protokolu. Protokoly Waagent do /var/log/waagent.log a používá systémové logrotate
funkce k obměně protokolů.
Operační systém. EnableRDMA
Type: Boolean
Default: n
Pokud nastavíte tuto možnost, agent se pokusí nainstalovat a pak načíst ovladač jádra RDMA, který odpovídá verzi firmwaru na základním hardwaru.
Operační systém. RootDeviceScsiTimeout
Type: Integer
Default: 300
Tato možnost nakonfiguruje časový limit SCSI v sekundách na disku s operačním systémem a na datových jednotkách. Pokud není nastavená, použijí se výchozí hodnoty systému.
Operační systém. OpensslPath
Type: String
Default: None
Tuto možnost můžete použít k určení alternativní cesty pro binární soubor openssl , který se má použít pro kryptografické operace.
HttpProxy.Host, HttpProxy.Port
Type: String
Default: None
Pokud nastavíte tuto možnost, agent použije tento proxy server pro přístup k internetu.
AutoUpdate.Enabled
Type: Boolean
Default: y
Povolte nebo zakažte automatické aktualizace pro zpracování stavu cíle. Výchozí hodnota je y
.
Automatické shromažďování protokolů v agentu hosta Azure Linuxu
Od verze 2.7 nebo novější má agent hosta Azure Linuxu funkci, která automaticky shromažďuje některé protokoly a nahrává je. Tato funkce v současné době vyžaduje systemd
. Při provádění kolekce používá nový systemd
řez, který se volá azure-walinuxagent-logcollector.slice
ke správě prostředků.
Účelem je usnadnit offline analýzu. Agent vytvoří soubor .zip některých diagnostických protokolů před jejich nahráním do hostitele virtuálního počítače. Technické týmy a odborníci na podporu můžou soubor načíst a prošetřit problémy vlastníka virtuálního počítače. Technické informace o souborech, které shromažďuje agent hosta Azure Linuxu, najdete v souboru azurelinuxagent/common/logcollector_manifests.py v úložišti GitHub agenta.
Tuto možnost můžete zakázat úpravou /etc/waagent.conf. Aktualizovat Logs.Collect
na n
.
Image cloudu Ubuntu
Cloudové image Ubuntu používají cloud-init k provedení mnoha úloh konfigurace, které by jinak spravoval agent virtuálního počítače Azure s Linuxem. Platí následující rozdíly:
Provisioning.Enabled
ve výchozím nastavení se nan
imagích Ubuntu Cloud, které používají cloud-init k provádění úloh zřizování.Následující parametry konfigurace nemají žádný vliv na image cloudu Ubuntu, které ke správě disku prostředků a prohození místa používají cloud-init:
ResourceDisk.Format
ResourceDisk.Filesystem
ResourceDisk.MountPoint
ResourceDisk.EnableSwap
ResourceDisk.SwapSizeMB
Informace o konfiguraci přípojného bodu a prohození místa na disku prostředku v imagích cloudu Ubuntu během zřizování najdete v následujících zdrojích informací: