Přehled agenta virtuálního počítače Azure s Linuxem

Upozornění

Tento článek odkazuje na CentOS, linuxovou distribuci, která se blíží stavu Konec životnosti (EOL). Zvažte své použití a odpovídajícím způsobem naplánujte. Další informace najdete v doprovodných materiálech CentOS End Of Life.

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+
CentOS 7.x+, 8.x+ 7.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 18.04+, 20.04+, 22.04+ 20.04+, 22.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 jsou y v konfiguračním souboru.
    • Nameserver konfigurace v souboru /etc/resolv.conf.
    • Kořenové heslo z /etc/shadow, pokud Provisioning.DeleteRootPassword je y 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.

  • deprovision+user: Provede vše v deprovision 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, Stringnebo 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 ytato 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 ytato 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, dsaa 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 yhodnota , 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 yhodnota , waagent dededes CustomData z Base64.

Provisioning.ExecuteCustomData

Type: Boolean
Default: n

Pokud je yhodnota , 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: MD5
  • 2a:Blowfish
  • 5: SHA-256
  • 6: 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 yhodnota , 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,nosuidnapří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ů.

OS. 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.

OS. 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.

OS. 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 na n 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í: