Přehled agenta Linuxu pro virtuální počítače Azure

Agent Azure pro Linux na virtuálních počítačích (waagent) spravuje zřizování Linuxu a FreeBSD a interakci virtuálního počítače s řadičem 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.

Důležité

Nejnovější informace o podpoře FIPS 140-3 pro hostujícího agenta a rozšíření virtuálního počítače přejděte na aka.ms/linuxagentfipssupport.

Agent Linuxu poskytuje následující funkce pro nasazení virtuálních počítačů Azure s Linuxem a FreeBSD. Další informace naleznete v souboru Readme agenta Azure Linux VM na GitHubu.

Poznámka:

Vyzkoušejte VM Assist pro rychlejší diagnostiku. Doporučujeme spustit pomocníka virtuálního počítače pro Windows nebo pomocníka virtuálního počítače pro Linux. Tyto diagnostické nástroje založené na skriptech vám pomůžou identifikovat běžné problémy, které mají vliv na agenta hosta virtuálního počítače Azure a celkový stav virtuálního počítače.

Pokud máte problémy s výkonem virtuálních počítačů, před kontaktováním podpory spusťte tyto nástroje.

Zřizování obrazů

  • Vytvoří uživatelský účet.
  • Konfiguruje typy ověřování SSH.
  • Nasadí veřejné klíče a páry klíčů SSH (Secure Shell).
  • Nastaví název hostitele.
  • Publikuje název hostitele do dns (Domain Name System) platformy.
  • Nahlásí otisk prstu klíče hostitele SSH na platformu.
  • Spravuje disk prostředků.
  • Naformátuje a připojí disk prostředku.
  • Konfiguruje odkládací prostor.

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 systému Hyper-V skrze /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ů:

  • DVD připojený při 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í potvrzuje, ž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.

Vydavatel Distribuce x64 ARM64
Komunita Alma Linuxu Alma Linux 8.x+, 9.x+ 8.x+, 9.x+
Credativ Debian více než 10 11.x+
Kinvolk Flatcar Linux 3374.2.x+ 3374.2.x+
Microsoft Azure Linux 2.x 2.x
openSUSE Project openSUSE 12.3+ Nepodporováno
Oracle Oracle Linux 6.4+, 7.x+, 8.x+ Nepodporováno
Red Hat Red Hat Enterprise Linux 6.7+, 7.x+, 8.x+, 9.x+, 10.x+ 8.6+, 9.0+, 10.x+
CIQ Rocky Linux 9.x+ 9.x+
SUSE SLES 12.x+, 15.x+ 15.x SP4+
Canonical Ubuntu (verze LTS) 18.04+, 20.04+, 22.04+, 24.04+ 20.04+, 22.04+, 24.04+

Další podporované systémy:

  • Agent funguje na více systémech, než jsou ty uvedené v dokumentaci. Neprovádíme ale testování ani neposkytujeme podporu distribucí, které nejsou v seznamu schválených. Konkrétně freeBSD není schváleno. Můžete vyzkoušet FreeBSD 8. Pokud narazíte na problémy, můžete problém otevřít 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+
  • 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 funkci automatické aktualizace agenta virtuálního počítače Azure s Linuxem zakázat. Některá úložiště můžou také obsahovat starší verze. Starší verze můžou mít problémy s moderními rozšířeními, proto doporučujeme nainstalovat nejnovější stabilní verzi.

Musíte se ujistit, že se agent virtuálního počítače Azure s Linuxem správně aktualizuje. Doporučujeme, abyste měli možnost AutoUpdate.Enabled=Y v souboru /etc/waagent.conf, protože zakomentování této možnosti také vede k použití výchozích hodnot. Absence AutoUpdate.Enabled=N neumožňuje správnou aktualizaci agenta virtuálního počítače Azure pro Linux.

Pro pokročilé možnosti instalace, jako je instalace ze zdroje nebo do vlastních umístění nebo předpon, naleznete informace 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

Vlajky

  • 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 připravit ho pro přeinstalaci. 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.
    • Pronájmy klienta DHCP v mezipaměti

    Klient resetuje název hostitele na localhost.localdomain.

    Výstraha

    Odebrání prostředků nezaručuje, že všechny citlivé informace jsou z obrazu odstraněny a že 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 waagent.

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

Povolené zřizování

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é, zůstanou klíče hostitele SSH a uživatelské klíče v obrazu zachovány 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í při restartování démona SSH. Příkladem je po restartu.

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 v systému 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 hodnota y, waagent monitoruje virtuální počítač s Linuxem pro změny názvu hostitele, jak vrací příkaz 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 hodnota y, waagent dekóduje CustomData z Base64.

Provisioning.ExecuteCustomData

Type: Boolean
Default: n

Pokud je hodnota y, waagent spustí se CustomData po provedení.

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 používá pro generování hodnoty hash hesla. Platné hodnoty jsou:

  • 1: MD5
  • 2a:Čtverzubec
  • 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 hodnota y, waagent naformátuje a připojí disk prostředku, který platforma poskytuje, pokud typ souborového systému, který uživatel požadoval v ResourceDisk.Filesystem, 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 zdroje. Podporované hodnoty se liší podle distribuce Linuxu. Pokud je řetězec X, pak by měl být mkfs.X na obrazu Linuxu.

ResourceDisk.MountPoint

Type: String
Default: /mnt/resource

Tato možnost určuje cestu, ke které je připojený disk prostředku. Disk prostředků je dočasný disk a může se vyprázdnit při odstranění virtualizace 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 vytvoří na disku prostředku swapovací soubor (/swapfile) a přidá ho do systémového swap prostoru.

ResourceDisk.SwapSizeMB

Type: Integer
Default: 0

Tato možnost určuje velikost stránkovacího souboru v megabajtech.

Logs.Verbose

Type: Boolean
Default: n

Pokud tuto možnost nastavíte, zvýší se úroveň podrobností protokolu. Waagent zapisuje protokoly do /var/log/waagent.log a používá systémovou logrotate funkcionalitu 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 operačního systému a 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.Povoleno

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 a novější má Azure Linux host agent funkci, která automaticky shromažďuje diagnostické protokoly a nahrává je. Tato funkce v současné době vyžaduje systemd. Při provádění kolekce používá nový řez systemd, nazývaný 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.

Ubuntu cloudové obrázky

Cloudové image Ubuntu používají cloud-init ke konfiguraci mnoha úloh, které by jinak spravoval Azure Linux VM Agent. Platí následující rozdíly:

  • Provisioning.Enabled se ve výchozím nastavení nastaví na n u obrazů Ubuntu Cloud, které používají cloud-init k provádění úloh zřizování.

  • Následující konfigurační parametry nemají žádný vliv na cloudové image Ubuntu, které používají cloud-init ke správě disku prostředků a odkládacího prostoru:

    • ResourceDisk.Format
    • ResourceDisk.Filesystem
    • ResourceDisk.MountPoint
    • ResourceDisk.EnableSwap
    • ResourceDisk.SwapSizeMB

Informace o konfiguraci přípojného bodu a odkládacího prostoru na disku pro zdroje v obrazech cloudu Ubuntu při zřizování viz následující zdroje.