Overzicht van Azure Linux VM Agent

Let op

In dit artikel wordt verwezen naar CentOS, een Linux-distributie die de status End Of Life (EOL) nadert. Houd rekening met uw gebruik en plan dienovereenkomstig. Zie de Richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.

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+
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+ 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 18.04+, 20.04+, 22.04+ 20.04+, 22.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.RegenerateSshHostKeyPairy deze zich in het configuratiebestand bevindt.
    • Nameserver configuratie in /etc/resolv.conf.
    • Het hoofdwachtwoord van /etc/shadow, als Provisioning.DeleteRootPasswordy 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.

  • deprovision+user: Voert alles in deprovision 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, Stringof 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, dsaen ecdsa. Het putty.exe-bestand in Windows biedt geen ondersteuning ecdsavoor . 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: MD5
  • 2a:Blowfish
  • 5: SHA-256
  • 6: 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.

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

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

OS. 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 systemdmomenteel . 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 ingesteld n 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: