Overzicht van Azure Linux VM Agent
De Microsoft Azure Linux VM Agent (waagent) beheert Linux- en FreeBSD-inrichting, samen met de interactie van virtuele machines (VM) met de Azure-infrastructuurcontroller. Naast de Linux-agent die inrichtingsfunctionaliteit biedt, biedt Azure de mogelijkheid om cloud-init te gebruiken voor sommige Linux-besturingssystemen.
De Linux-agent biedt de volgende functionaliteit voor implementaties van Linux en FreeBSD Azure Virtual Machines. Zie het leesmij-bestand van de Azure Linux-VM-agent op GitHub voor meer informatie.
Installatiekopie inrichten
- Een gebruikersaccount maken
- SSH-verificatietypen configureren
- Implementeert openbare SSH-sleutels en sleutelparen
- Hiermee stelt u de hostnaam in
- Hiermee wordt de hostnaam gepubliceerd naar de DNS van het platform
- Rapporteert de vingerafdruk van de SSH-hostsleutel aan het platform
- Beheert de resourceschijf
- De resourceschijf formatteren en koppelen
- Wisselruimte configureren
Netwerken
- Beheert routes om de compatibiliteit met DHCP-platformservers te verbeteren
- Zorgt voor de stabiliteit van de naam van de netwerkinterface
Kernel
- Virtuele NUMA configureren (uitgeschakeld voor kernel 2.6.37)
- Gebruikt Hyper-V-entropie voor /dev/random
- Hiermee configureert u SCSI-time-outs voor het hoofdapparaat, die extern kunnen zijn
Diagnostiek
- Biedt consoleomleiding naar de seriële poort
System Center Virtual Machine Manager-implementaties
- Detecteert en bootstrapt de Virtual Machine Manager-agent voor Linux wanneer deze wordt uitgevoerd in een System Center Virtual Machine Manager 2012 R2-omgeving
VM-extensie
- Injecteert onderdelen die zijn gemaakt door Microsoft en partners in Linux-VM's om software- en configuratieautomatisering mogelijk te maken
U vindt een referentie-implementatie van de VM-extensie op GitHub.
Communicatie
Informatiestroom van het platform naar de agent vindt plaats via twee kanalen:
- Een gekoppelde dvd met opstarttijd voor VM-implementaties. Deze dvd bevat een OVF-compatibel configuratiebestand (Open Virtualization Format) dat alle inrichtingsgegevens bevat die niet de SSH-sleutelparen zijn.
- Een TCP-eindpunt dat een REST API beschikbaar maakt die wordt gebruikt om implementatie- en topologieconfiguratie op te halen.
Vereisten
Testen heeft bevestigd dat de volgende systemen werken met de Azure Linux VM-agent.
Notitie
Deze lijst kan afwijken van de goedgekeurde Linux-distributies in Azure.
Distributie | 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+ | Niet ondersteund |
Oracle Linux | 6.4+, 7.x+, 8.x+ | Niet ondersteund |
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-releases) | 18.04+, 20.04+, 22.04+, 24.04+ | 20.04+, 22.04+, 24.04+ |
Belangrijk
RHEL/Oracle Linux 6.10 is de enige RHEL/OL 6-versie met uitgebreide levenscyclusondersteuning beschikbaar. Het verlengd onderhoud eindigt op 30 juni 2024.
Andere ondersteunde systemen:
- De agent werkt op meer systemen dan de systemen die worden vermeld in de documentatie. We testen echter niet of bieden geen ondersteuning voor distributies die niet op de goedgekeurde lijst staan. In het bijzonder wordt FreeBSD niet goedgekeurd. De klant kan FreeBSD 8 proberen en als ze problemen ondervinden, kunnen ze een probleem openen in onze GitHub-opslagplaats en kunnen we mogelijk helpen.
De Linux-agent is afhankelijk van deze systeempakketten om goed te functioneren:
- Python 2.6 of later
- OpenSSL 1.0 of later
- OpenSSH 5.3 of later
- Bestandssysteemhulpprogramma's: sfdisk, fdisk, mkfs, parted
- Hulpmiddelen voor wachtwoord: chpasswd, sudo
- Hulpmiddelen voor tekstverwerking: sed, grep
- Hulpprogramma's voor netwerk: ip-route
- Kernelondersteuning voor het koppelen van UDF-bestandssystemen
Zorg ervoor dat uw VIRTUELE machine toegang heeft tot IP-adres 168.63.129.16. Zie Wat is IP-adres 168.63.129.16? voor meer informatie.
Installatie
De ondersteunde methode voor het installeren en upgraden van de Azure Linux VM-agent maakt gebruik van een RPM of een DEB-pakket vanuit de pakketopslagplaats van uw distributie. Alle goedgekeurde distributieproviders integreren het Azure Linux VM Agent-pakket in hun installatiekopieën en opslagplaatsen.
Sommige Linux-distributies kunnen de functie Automatisch bijwerken van azure Linux-VM-agent uitschakelen en sommige opslagplaatsen bevatten mogelijk ook oudere versies. Deze kunnen problemen hebben met moderne extensies. Daarom raden we u aan om de meest recente stabiele versie te installeren.
Om ervoor te zorgen dat de Azure Linux VM-agent correct wordt bijgewerkt, raden we u aan om de optie AutoUpdate.Enabled=Y
in het /etc/waagent.conf
bestand te plaatsen of om een opmerking uit te voeren die optie resulteert ook in de standaardinstellingen. Als u de Azure Linux VM-agent niet goed laat AutoUpdate.Enabled=N
bijwerken.
Zie Microsoft Azure Linux VM Agent voor geavanceerde installatieopties, zoals installeren vanaf een bron of aangepaste locaties of voorvoegsels. In andere dan deze scenario's wordt geen ondersteuning geboden voor het upgraden of opnieuw installeren van de Azure Linux VM-agent vanuit de bron.
Opdrachtregelopties
Vlaggen
verbose
: vergroot de uitgebreidheid van de opgegeven opdracht.force
: hiermee wordt interactieve bevestiging voor sommige opdrachten overgeslagen.
Opdracht
help
: geeft een overzicht van de ondersteunde opdrachten en vlaggen.deprovision
: Probeert het systeem schoon te maken en het geschikt te maken voor herinrichting. Met de bewerking wordt het volgende verwijderd:- Alle SSH-hostsleutels, als
Provisioning.RegenerateSshHostKeyPair
y
deze zich in het configuratiebestand bevindt. Nameserver
configuratie in /etc/resolv.conf.- Het hoofdwachtwoord van /etc/shadow, als
Provisioning.DeleteRootPassword
y
het zich in het configuratiebestand bevindt. - Dhcp-clientleases in cache.
De client stelt de hostnaam opnieuw in op
localhost.localdomain
.Waarschuwing
Het ongedaan maken van de inrichting garandeert niet dat de installatiekopie wordt gewist van alle gevoelige informatie en geschikt is voor herdistributie.
- Alle SSH-hostsleutels, als
deprovision+user
: Voert alles indeprovision
en verwijdert het laatst ingerichte gebruikersaccount (verkregen uit /var/lib/waagent) en de bijbehorende gegevens. Gebruik deze parameter wanneer u de inrichting van een installatiekopieën ongedaan maakt die eerder in Azure is ingericht, zodat deze kan worden vastgelegd en opnieuw kan worden gebruikt.version
: Geeft de versie van waagent weer.serialconsole
: hiermee configureert GRUB om ttyS0, de eerste seriële poort, als de opstartconsole te markeren. Deze optie zorgt ervoor dat kernelopstartlogboeken naar de seriële poort worden verzonden en beschikbaar worden gesteld voor foutopsporing.daemon
: Voert waagent uit als een daemon om interactie met het platform te beheren. Dit argument wordt opgegeven voor waagent in het init-script waagent.start
: Voert waagent uit als achtergrondproces.
Configuratie
Het configuratiebestand /etc/waagent.conf bepaalt de acties van waagent. Hier volgt een voorbeeld van een configuratiebestand:
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
Configuratieopties zijn van drie typen: Boolean
, String
of Integer
. U kunt de Boolean
configuratieopties opgeven als y
of n
. Het speciale trefwoord None
kan worden gebruikt voor sommige configuratiegegevens van het tekenreekstype.
Provisioning.Enabled
Type: Boolean
Default: y
Met deze optie kan de gebruiker de inrichtingsfunctionaliteit in- of uitschakelen in de agent. Geldige waarden zijn y
en n
. Als inrichten is uitgeschakeld, blijven de SSH-host- en gebruikerssleutels in de installatiekopie behouden en wordt de configuratie in de Azure-inrichtings-API genegeerd.
Notitie
De Provisioning.Enabled
parameter wordt standaard ingesteld n
op Ubuntu Cloud-installatiekopieën die gebruikmaken van cloud-init voor inrichting.
Provisioning.DeleteRootPassword
Type: Boolean
Default: n
Als de waarde is y
, wist de agent het hoofdwachtwoord in het /etc/schaduwbestand tijdens het inrichtingsproces.
Provisioning.RegenerateSshHostKeyPair
Type: Boolean
Default: y
Als de waarde is y
, verwijdert de agent alle SSH-hostsleutelparen uit /etc/ssh/ tijdens het inrichtingsproces, inclusief ECDSA, DSA en RSA. De agent genereert één nieuw sleutelpaar.
Configureer het versleutelingstype voor het nieuwe sleutelpaar met behulp van de Provisioning.SshHostKeyPairType
vermelding. Sommige distributies maken SSH-sleutelparen opnieuw voor ontbrekende versleutelingstypen wanneer de SSH-daemon opnieuw wordt opgestart, bijvoorbeeld na opnieuw opstarten.
Provisioning.SshHostKeyPairType
Type: String
Default: rsa
U kunt deze optie instellen op een type versleutelingsalgoritmen dat door de SSH-daemon op de VIRTUELE machine wordt ondersteund. De doorgaans ondersteunde waarden zijn rsa
, dsa
en ecdsa
. Het putty.exe-bestand in Windows biedt geen ondersteuning ecdsa
voor . Als u van plan bent om putty.exe in Windows te gebruiken om verbinding te maken met een Linux-implementatie, gebruikt rsa
of dsa
.
Provisioning.MonitorHostName
Type: Boolean
Default: y
Als de waarde is y
, bewaakt waagent de Linux-VM voor een hostnaamwijziging, zoals geretourneerd door de hostname
opdracht. Waagent werkt vervolgens automatisch de netwerkconfiguratie in de installatiekopieën bij om de wijziging weer te geven. Als u de naamwijziging naar de DNS-servers wilt pushen, wordt het netwerk opnieuw opgestart op de virtuele machine. Deze herstart leidt tot kort verlies van internetverbinding.
Provisioning.DecodeCustomData
Type: Boolean
Default: n
Als de waarde is y
, ontsleutelt waagent decodes CustomData
van Base64.
Provisioning.ExecuteCustomData
Type: Boolean
Default: n
Als de waarde is y
, wordt waagent uitgevoerd CustomData
na het inrichten.
Provisioning.AllowResetSysUser
Type: Boolean
Default: n
Met deze optie kan het wachtwoord voor de systeemgebruiker opnieuw worden ingesteld. Standaard is deze instellin uitgeschakeld.
Provisioning.PasswordCryptId
Type: String
Default: 6
Met deze optie geeft u het algoritme op dat crypt
wordt gebruikt bij het genereren van een wachtwoord-hash. Geldige waarden zijn:
1
: MD52a
:Blowfish5
: SHA-2566
: SHA-512
Provisioning.PasswordCryptSaltLength
Type: String
Default: 10
Met deze optie geeft u de lengte aan van willekeurige zout die wordt gebruikt bij het genereren van een wachtwoord-hash.
ResourceDisk.Format
Type: Boolean
Default: y
Als de waarde is y
, formatteert en koppelt waagent de resourceschijf die het platform biedt, tenzij het bestandssysteemtype dat de gebruiker heeft aangevraagd ResourceDisk.Filesystem
, is ntfs
. De agent maakt één Linux-partitie (ID 83) beschikbaar op de schijf. Deze partitie is niet geformatteerd als deze kan worden gekoppeld.
ResourceDisk.Filesystem
Type: String
Default: ext4
Met deze optie geeft u het bestandssysteemtype voor de resourceschijf op. Ondersteunde waarden variëren per Linux-distributie. Als de tekenreeks is X
, mkfs.X
moet deze aanwezig zijn op de Linux-installatiekopieën.
ResourceDisk.MountPoint
Type: String
Default: /mnt/resource
Met deze optie geeft u het pad op waarop de resourceschijf is gekoppeld. De resourceschijf is een tijdelijke schijf en kan worden geleegd wanneer de inrichting van de VIRTUELE machine ongedaan wordt gemaakt.
ResourceDisk.MountOptions
Type: String
Default: None
Met deze optie worden opties voor schijfkoppeling opgegeven die moeten worden doorgegeven aan de mount -o
opdracht. De waarde is een door komma's gescheiden lijst met waarden, bijvoorbeeld nodev,nosuid
. Zie de mount(8)
handmatige pagina voor meer informatie.
ResourceDisk.EnableSwap
Type: Boolean
Default: n
Als u deze optie instelt, maakt de agent een wisselbestand (/swapfile) op de resourceschijf en voegt deze toe aan de wisselruimte van het systeem.
ResourceDisk.SwapSizeMB
Type: Integer
Default: 0
Met deze optie geeft u de grootte van het wisselbestand in megabytes op.
Logs.Verbose
Type: Boolean
Default: n
Als u deze optie instelt, wordt de uitbreiding van logboeken verhoogd. Waagent-logboeken naar /var/log/waagent.log en maakt gebruik van de systeemfunctionaliteit logrotate
om logboeken te draaien.
BESTURINGSSYSTEEM. EnableRDMA
Type: Boolean
Default: n
Als u deze optie instelt, probeert de agent een RDMA-kernelstuurprogramma te installeren en vervolgens te laden dat overeenkomt met de versie van de firmware op de onderliggende hardware.
BESTURINGSSYSTEEM. RootDeviceScsiTimeout
Type: Integer
Default: 300
Met deze optie configureert u de SCSI-time-out in seconden op de besturingssysteemschijf en gegevensstations. Als deze niet is ingesteld, worden de standaardinstellingen van het systeem gebruikt.
BESTURINGSSYSTEEM. OpensslPath
Type: String
Default: None
U kunt deze optie gebruiken om een alternatief pad op te geven voor het binaire bestand openssl dat moet worden gebruikt voor cryptografische bewerkingen.
HttpProxy.Host, HttpProxy.Port
Type: String
Default: None
Als u deze optie instelt, gebruikt de agent deze proxyserver voor toegang tot internet.
AutoUpdate.Enabled
Type: Boolean
Default: y
Automatisch bijwerken in- of uitschakelen voor doelstatusverwerking. De standaardwaarde is y
.
Automatische logboekverzameling in de Azure Linux-gastagent
Vanaf versie 2.7+ heeft de Azure Linux-gastagent een functie om automatisch enkele logboeken te verzamelen en te uploaden. Deze functie vereist systemd
momenteel . Er wordt een nieuw systemd
segment gebruikt dat wordt aangeroepen azure-walinuxagent-logcollector.slice
om resources te beheren terwijl de verzameling wordt uitgevoerd.
Het doel is om offlineanalyse te vergemakkelijken. De agent produceert een .zip bestand met enkele diagnostische logboeken voordat deze worden geüpload naar de host van de virtuele machine. Technische teams en ondersteuningsmedewerkers kunnen het bestand ophalen om problemen voor de eigenaar van de VM te onderzoeken. Zie het bestand azurelinuxagent/common/logcollector_manifests.py in de GitHub-opslagplaats van de agent voor technische informatie over de bestanden die de Azure Linux-gastagent verzamelt.
U kunt deze optie uitschakelen door /etc/waagent.conf te bewerken. Bijwerken Logs.Collect
naar n
.
Ubuntu-cloudinstallatiekopieën
Ubuntu-cloudinstallatiekopieën maken gebruik van cloud-init om veel configuratietaken uit te voeren die de Azure Linux VM-agent anders zou beheren. De volgende verschillen zijn van toepassing:
Provisioning.Enabled
is standaard ingesteldn
op Ubuntu Cloud-installatiekopieën die gebruikmaken van cloud-init om inrichtingstaken uit te voeren.De volgende configuratieparameters hebben geen invloed op Ubuntu Cloud-installatiekopieën die gebruikmaken van cloud-init voor het beheren van de resourceschijf en wisselruimte:
ResourceDisk.Format
ResourceDisk.Filesystem
ResourceDisk.MountPoint
ResourceDisk.EnableSwap
ResourceDisk.SwapSizeMB
Als u het koppelpunt voor de resourceschijf wilt configureren en ruimte wilt wisselen voor Ubuntu Cloud-installatiekopieën tijdens het inrichten, raadpleegt u de volgende resources: