Översikt över Vm-agenten för Azure Linux
Microsoft Azure Linux VM Agent (waagent) hanterar Linux- och FreeBSD-etablering, tillsammans med interaktion med den virtuella datorn (VM) med Azure Fabric-kontrollanten. Förutom att Linux-agenten tillhandahåller etableringsfunktioner ger Azure möjlighet att använda cloud-init för vissa Linux-operativsystem.
Linux-agenten tillhandahåller följande funktioner för Linux- och FreeBSD Azure Virtual Machines-distributioner. Mer information finns i Azure Linux VM Agent readme på GitHub.
Avbildningsetablering
- Skapar ett användarkonto
- Konfigurerar SSH-autentiseringstyper
- Distribuerar offentliga SSH-nycklar och nyckelpar
- Anger värdnamnet
- Publicerar värdnamnet till plattformens DNS
- Rapporterar SSH-värdnyckelns fingeravtryck till plattformen
- Hanterar resursdisken
- Formaterar och monterar resursdisken
- Konfigurerar växlingsutrymme
Nätverk
- Hanterar vägar för att förbättra kompatibiliteten med DHCP-plattformsservrar
- Säkerställer stabiliteten för nätverksgränssnittets namn
Kernel
- Konfigurerar virtuell NUMA (inaktiverat för kernel 2.6.37)
- Förbrukar Hyper-V-entropi för /dev/random
- Konfigurerar SCSI-timeouter för rotenheten, som kan vara fjärransluten
Diagnostik
- Tillhandahåller konsolomdirigering till serieporten
System Center Virtual Machine Manager-distributioner
- Identifierar och startar Virtual Machine Manager-agenten för Linux när den körs i en System Center Virtual Machine Manager 2012 R2-miljö
VM-tillägg
- Matar in komponenter som skapats av Microsoft och partner i virtuella Linux-datorer för att aktivera automatisering av programvara och konfiguration
Du hittar en referensimplementering för VM-tillägg på GitHub.
Kommunikation
Informationsflödet från plattformen till agenten sker via två kanaler:
- En dvd för starttid för VM-distributioner. Den här DVD-skivan innehåller en OVF-kompatibel konfigurationsfil (Open Virtualization Format) som innehåller all etableringsinformation förutom SSH-nyckelparen.
- En TCP-slutpunkt som exponerar ett REST-API som används för att få distributions- och topologikonfiguration.
Krav
Testningen har bekräftat att följande system fungerar med Vm-agenten för Azure Linux.
Kommentar
Den här listan kan skilja sig från de godkända Linux-distributionerna i Azure.
Distribution | 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+ | Stöds ej |
Oracle Linux | 6.4+, 7.x+, 8.x+ | Stöds ej |
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 (LTS-versioner) | 18.04+, 20.04+, 22.04+, 24.04+ | 20.04+, 22.04+, 24.04+ |
Viktigt!
RHEL/Oracle Linux 6.10 är den enda RHEL/OL 6-versionen med utökad livscykelsupport tillgänglig. Det utökade underhållet upphör den 30 juni 2024.
Andra system som stöds:
- Agenten fungerar på fler system än de som anges i dokumentationen. Vi testar dock inte eller ger stöd för distributioner som inte finns med på listan över godkända distributioner. I synnerhet stöds inte FreeBSD. Kunden kan prova FreeBSD 8 och om de stöter på problem kan de öppna ett problem på vår GitHub-lagringsplats och vi kanske kan hjälpa till.
Linux-agenten är beroende av dessa systempaket för att fungera korrekt:
- Python 2.6+
- OpenSSL 1.0+
- OpenSSH 5.3+
- Filsystemverktyg: sfdisk, fdisk, mkfs, parted
- Lösenordsverktyg: chpasswd, sudo
- Textbearbetningsverktyg: sed, grep
- Nätverksverktyg: ip-route
- Kernelstöd för montering av UDF-filsystem
Kontrollera att den virtuella datorn har åtkomst till IP-adressen 168.63.129.16. Mer information finns i Vad är IP-adress 168.63.129.16?.
Installation
Den metod som stöds för att installera och uppgradera vm-agenten för Azure Linux använder en RPM eller ett DEB-paket från distributionens paketlagringsplats. Alla godkända distributionsleverantörer integrerar Azure Linux VM Agent-paketet i sina avbildningar och lagringsplatser.
Vissa Linux-distributioner kan inaktivera funktionen För automatisk uppdatering av Azure Linux VM Agent och vissa av lagringsplatserna kan också innehålla äldre versioner. Dessa kan ha problem med moderna tillägg, så vi rekommenderar att du har den senaste stabila versionen installerad.
För att säkerställa att Azure Linux VM-agenten uppdateras korrekt rekommenderar vi att du har alternativet AutoUpdate.Enabled=Y
i /etc/waagent.conf
filen eller bara kommenterar ut det alternativet kommer att resultera i dess standardvärden också. Att ha AutoUpdate.Enabled=N
tillåter inte att Azure Linux VM-agenten uppdateras korrekt.
Avancerade installationsalternativ, till exempel installation från en källa eller anpassade platser eller prefix, finns i Microsoft Azure Linux VM Agent. Förutom dessa scenarier stöder eller rekommenderar vi inte att du uppgraderar eller installerar om Azure Linux VM-agenten från källan.
Alternativ för kommandoraden
Flaggor
verbose
: Ökar verbositeten för det angivna kommandot.force
: Hoppar över interaktiv bekräftelse för vissa kommandon.
Kommandon
help
: Visar de kommandon och flaggor som stöds.deprovision
: Försöker rensa systemet och göra det lämpligt för ometablering. Åtgärden tar bort:- Alla SSH-värdnycklar, om
Provisioning.RegenerateSshHostKeyPair
de finnsy
i konfigurationsfilen. Nameserver
konfiguration i /etc/resolve.conf.- Rotlösenordet från /etc/shadow, om
Provisioning.DeleteRootPassword
det finnsy
i konfigurationsfilen. - Cachelagrade DHCP-klientlån.
Klienten återställer värdnamnet till
localhost.localdomain
.Varning
Avetablering garanterar inte att avbildningen rensas från all känslig information och är lämplig för omdistribution.
- Alla SSH-värdnycklar, om
deprovision+user
: Utför allt ideprovision
och tar bort det senast etablerade användarkontot (hämtat från /var/lib/waagent) och associerade data. Använd den här parametern när du avetablera en avbildning som tidigare etablerades i Azure så att den kan avbildas och återanvändas.version
: Visar versionen av waagent.serialconsole
: Konfigurerar GRUB för att markera ttyS0, den första serieporten, som startkonsol. Det här alternativet säkerställer att kernel-startloggar skickas till serieporten och görs tillgängliga för felsökning.daemon
: Kör waagent som en daemon för att hantera interaktion med plattformen. Det här argumentet anges till waagent i init-skriptet waagent.start
: Kör waagent som en bakgrundsprocess.
Konfiguration
Konfigurationsfilen /etc/waagent.conf styr waagent-åtgärderna. Här är ett exempel på en konfigurationsfil:
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
Konfigurationsalternativen är av tre typer: Boolean
, String
eller Integer
. Du kan ange konfigurationsalternativen Boolean
som y
eller n
. Det särskilda nyckelordet None
kan användas för vissa konfigurationsposter av strängtyp.
Provisioning.Enabled
Type: Boolean
Default: y
Med det här alternativet kan användaren aktivera eller inaktivera etableringsfunktionen i agenten. Giltiga värden är y
och n
. Om etableringen är inaktiverad bevaras SSH-värden och användarnycklarna i avbildningen och konfigurationen i Azure-etablerings-API:et ignoreras.
Kommentar
Parametern Provisioning.Enabled
är standard på n
Ubuntu Cloud Images som använder cloud-init för etablering.
Provisioning.DeleteRootPassword
Type: Boolean
Default: n
Om värdet är y
raderar agenten rotlösenordet i /etc/shadow-filen under etableringsprocessen.
Provisioning.RegenerateSshHostKeyPair
Type: Boolean
Default: y
Om värdet är y
tar agenten bort alla SSH-värdnyckelpar från /etc/ssh/ under etableringsprocessen, inklusive ECDSA, DSA och RSA. Agenten genererar ett enda nytt nyckelpar.
Konfigurera krypteringstypen för det nya nyckelparet Provisioning.SshHostKeyPairType
med hjälp av posten . Vissa distributioner återskapar SSH-nyckelpar för eventuella krypteringstyper som saknas när SSH-daemonen startas om, till exempel efter en omstart.
Provisioning.SshHostKeyPairType
Type: String
Default: rsa
Du kan ange det här alternativet till en krypteringsalgoritmtyp som SSH-daemonen stöder på den virtuella datorn. De värden som vanligtvis stöds är rsa
, dsa
och ecdsa
. Filen putty.exe i Windows stöder ecdsa
inte . Om du tänker använda putty.exe i Windows för att ansluta till en Linux-distribution använder du rsa
eller dsa
.
Provisioning.MonitorHostName
Type: Boolean
Default: y
Om värdet är y
övervakar waagent den virtuella Linux-datorn för en ändring av värdnamnet, som returneras av hostname
kommandot. Waagent uppdaterar sedan nätverkskonfigurationen i avbildningen automatiskt för att återspegla ändringen. Om du vill skicka namnändringen till DNS-servrarna startas nätverket om på den virtuella datorn. Den här omstarten resulterar i en kort förlust av Internetanslutningen.
Provisioning.DecodeCustomData
Type: Boolean
Default: n
Om värdet är y
avkodar CustomData
waagenten från Base64.
Provisioning.ExecuteCustomData
Type: Boolean
Default: n
Om värdet är y
körs CustomData
waagenten efter etableringen.
Provisioning.AllowResetSysUser
Type: Boolean
Default: n
Det här alternativet gör att lösenordet för systemanvändaren kan återställas. Som standard är den inaktiverad.
Provisioning.PasswordCryptId
Type: String
Default: 6
Det här alternativet anger den algoritm som crypt
används när den genererar en lösenordshash. Giltiga värden är:
1
: MD52a
:Blowfish5
: SHA-2566
: SHA-512
Provisioning.PasswordCryptSaltLength
Type: String
Default: 10
Det här alternativet anger längden på slumpmässigt salt som används för att generera en lösenordshash.
ResourceDisk.Format
Type: Boolean
Default: y
Om värdet är y
, formaterar waagent och monterar resursdisken som plattformen tillhandahåller, såvida inte filsystemtypen som användaren begärde i ResourceDisk.Filesystem
är ntfs
. Agenten gör en enda Linux-partition (ID 83) tillgänglig på disken. Den här partitionen är inte formaterad om den kan monteras.
ResourceDisk.Filesystem
Type: String
Default: ext4
Det här alternativet anger filsystemtypen för resursdisken. Värden som stöds varierar beroende på Linux-distribution. Om strängen är X
ska den mkfs.X
finnas på Linux-avbildningen.
ResourceDisk.MountPoint
Type: String
Default: /mnt/resource
Det här alternativet anger den sökväg där resursdisken är monterad. Resursdisken är en tillfällig disk och kan tömmas när den virtuella datorn avetableras.
ResourceDisk.MountOptions
Type: String
Default: None
Det här alternativet anger vilka alternativ för diskmontering som ska skickas till mount -o
kommandot. Värdet är en kommaavgränsad lista med värden, till exempel nodev,nosuid
. Mer information finns på den mount(8)
manuella sidan.
ResourceDisk.EnableSwap
Type: Boolean
Default: n
Om du anger det här alternativet skapar agenten en växlingsfil (/swapfile) på resursdisken och lägger till den i systemväxlingsutrymmet.
ResourceDisk.SwapSizeMB
Type: Integer
Default: 0
Det här alternativet anger storleken på växlingsfilen i megabyte.
Logs.Verbose
Type: Boolean
Default: n
Om du anger det här alternativet ökas loggverositeten. Waagent loggar till /var/log/waagent.log och använder systemfunktionerna logrotate
för att rotera loggar.
ÅS. AktiveraRDMA
Type: Boolean
Default: n
Om du anger det här alternativet försöker agenten installera och läser sedan in en RDMA-kerneldrivrutin som matchar versionen av den inbyggda programvaran på den underliggande maskinvaran.
ÅS. RootDeviceScsiTimeout
Type: Integer
Default: 300
Det här alternativet konfigurerar SCSI-tidsgränsen i sekunder på OS-disken och dataenheterna. Om den inte har angetts används systemets standardvärden.
ÅS. OpensslPath
Type: String
Default: None
Du kan använda det här alternativet för att ange en alternativ sökväg för opensl-binärfilen som ska användas för kryptografiska åtgärder.
HttpProxy.Host, HttpProxy.Port
Type: String
Default: None
Om du anger det här alternativet använder agenten den här proxyservern för att få åtkomst till Internet.
AutoUpdate.Enabled
Type: Boolean
Default: y
Aktivera eller inaktivera automatisk uppdupdate för bearbetning av måltillstånd. Standardvärdet är y
.
Automatisk logginsamling i Azure Linux-gästagenten
Från och med version 2.7+ har Azure Linux-gästagenten en funktion för att automatiskt samla in vissa loggar och ladda upp dem. Den här funktionen kräver systemd
för närvarande . Den använder en ny systemd
sektor med namnet azure-walinuxagent-logcollector.slice
för att hantera resurser medan samlingen utförs.
Syftet är att underlätta offlineanalys. Agenten skapar en .zip fil med vissa diagnostikloggar innan de laddas upp till den virtuella datorns värd. Teknikteam och supportpersonal kan hämta filen för att undersöka problem för den virtuella datorns ägare. Teknisk information om de filer som Azure Linux-gästagenten samlar in finns i filen azurelinuxagent/common/logcollector_manifests.py i agentens GitHub-lagringsplats.
Du kan inaktivera det här alternativet genom att redigera /etc/waagent.conf. Uppdatera Logs.Collect
till n
.
Ubuntu Cloud Images
Ubuntu Cloud Images använder cloud-init för att utföra många konfigurationsuppgifter som Den virtuella Azure Linux-agenten annars skulle hantera. Följande skillnader gäller:
Provisioning.Enabled
som standard pån
Ubuntu Cloud Images som använder cloud-init för att utföra etableringsuppgifter.Följande konfigurationsparametrar påverkar inte Ubuntu Cloud Images som använder cloud-init för att hantera resursdisken och växla utrymme:
ResourceDisk.Format
ResourceDisk.Filesystem
ResourceDisk.MountPoint
ResourceDisk.EnableSwap
ResourceDisk.SwapSizeMB
Information om hur du konfigurerar resursdiskens monteringspunkt och växlingsutrymme på Ubuntu Cloud Images under etableringen finns i följande resurser: