Az Azure Linux virtuálisgép-ügynök áttekintése
A Microsoft Azure Linux virtuálisgép-ügynök (waagent) felügyeli a Linux és a FreeBSD kiépítését, valamint a virtuális gépek és az Azure fabric controller közötti interakciót. A kiépítési funkciókat biztosító Linux-ügynökön kívül az Azure lehetővé teszi a cloud-init használatát egyes Linux operációs rendszerekhez.
A Linux-ügynök a következő funkciókat biztosítja a Linux és a FreeBSD Azure Virtual Machines üzemelő példányaihoz. További információkért tekintse meg az Azure Linux rendszerű virtuálisgép-ügynök GitHubon található olvasóanyagát.
Képkiépítés
- Felhasználói fiók létrehozása
- SSH-hitelesítési típusok konfigurálása
- Nyilvános SSH-kulcsok és kulcspárok üzembe helyezése
- A gazdagép nevének beállítása
- A gazdagép nevének közzététele a platform DNS-ében
- Az SSH gazdagépkulcs ujjlenyomatának jelentése a platformon
- Az erőforráslemez kezelése
- Az erőforráslemez formázása és csatlakoztatása
- A felcserélési terület konfigurálása
Hálózat
- Útvonalak kezelése a platform DHCP-kiszolgálóival való kompatibilitás javítása érdekében
- Biztosítja a hálózati adapter nevének stabilitását
Kernel
- Virtuális NUMA konfigurálása (letiltva a 2.6.37-s kernelhez)
- Hyper-V-entrópiát használ /dev/random
- SCSI-időtúllépéseket konfigurál a gyökéreszközhöz, amely távoli lehet
Diagnosztika
- Konzolátirányítást biztosít a soros portra
A System Center Virtual Machine Manager üzembe helyezései
- Észleli és elindítja a Linux Virtual Machine Manager-ügynökét, amikor System Center Virtual Machine Manager 2012 R2 környezetben fut
Virtuálisgép-bővítmény
- A Microsoft és a partnerek által készített összetevőket linuxos virtuális gépekre injektálja a szoftver- és konfigurációautomatizálás engedélyezéséhez
A virtuálisgép-bővítmények referencia-implementációja a GitHubon található.
Kommunikáció
A platformról az ügynökre irányuló információáramlás két csatornán keresztül történik:
- Rendszerindítási időhöz csatlakoztatott DVD virtuális gépek üzembe helyezéséhez. Ez a DVD tartalmaz egy Open Virtualization Format (OVF)-kompatibilis konfigurációs fájlt, amely az SSH-kulcspárokon kívül minden kiépítési információt tartalmaz.
- EGY TCP-végpont, amely egy REST API-t tesz elérhetővé, amely az üzembe helyezés és a topológia konfigurációjának lekérésére szolgál.
Követelmények
A tesztelés megerősítette, hogy a következő rendszerek működnek az Azure Linux virtuálisgép-ügynökkel.
Feljegyzés
Ez a lista eltérhet az Azure-ban támogatott Linux-disztribúcióktól.
Disztribúció | x64 | ARM64 |
---|---|---|
Alma Linux | 8.x+, 9.x+ | 8.x+, 9.x+ |
Debian | 10+ | 11.x+ |
Flatcar Linux | 3374.2.x+ | 3374.2.x+ |
Azure Linux | 2.x | 2.x |
openSUSE | 12.3+ | Nem támogatott |
Oracle Linux | 6.4+, 7.x+, 8.x+ | Nem támogatott |
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-kiadások) | 18.04+, 20.04+, 22.04+, 24.04+ | 20.04+, 22.04+, 24.04+ |
Fontos
A FIPS 140-3 Kényszerítve nem támogatott az RHEL/Ubuntu rendszeren a "protectedSettings" kiterjesztésekkel. A támogatási ETA 2025 közepe.
Egyéb támogatott rendszerek:
- Az ügynök a dokumentációban felsoroltaknál több rendszeren működik. Azonban nem teszteljük és nem támogatjuk azokat a disztribúciókat, amelyek nem szerepelnek a támogatott listán. A FreeBSD különösen nem támogatott. Az ügyfél kipróbálhatja a FreeBSD 8-at, és ha problémákba ütközik, megnyithat egy problémát a GitHub-adattárban, és segíthetünk.
A Linux-ügynök az alábbi rendszercsomagoktól függ, hogy megfelelően működjön:
- Python 2.6+
- OpenSSL 1.0+
- OpenSSH 5.3+
- Fájlrendszer-segédprogramok: sfdisk, fdisk, mkfs, parted
- Jelszóeszközök: chpasswd, sudo
- Szövegfeldolgozó eszközök: sed, grep
- Hálózati eszközök: ip-útvonal
- Kerneltámogatás UDF-fájlrendszerek csatlakoztatásához
Győződjön meg arról, hogy a virtuális gép hozzáfér a 168.63.129.16 IP-címhez. További információ: Mi az IP-cím 168.63.129.16?.
Telepítés
Az Azure Linux virtuálisgép-ügynök telepítésének és frissítésének támogatott módszere egy RPM- vagy DEB-csomagot használ a disztribúció csomagtárából.
Az összes támogatott disztribúciós szolgáltató integrálja az Azure Linux virtuálisgép-ügynökcsomagot a rendszerképeibe és adattáraiba.
Egyes Linux-disztribúciók letilthatják az Azure Linux rendszerű virtuálisgép-ügynök automatikus frissítési funkcióját, és az adattárak némelyike régebbi verziókat is tartalmazhat, amelyek a modern bővítményekkel kapcsolatos problémákat tapasztalhatnak, ezért javasoljuk, hogy a legújabb stabil verzió legyen telepítve.
Annak érdekében, hogy az Azure Linux virtuálisgép-ügynök megfelelően frissüljön, javasoljuk, hogy a beállítás AutoUpdate.Enabled=Y
szerepeljen a /etc/waagent.conf
fájlban, vagy egyszerűen tegye megjegyzésbe, hogy a beállítás az alapértelmezett beállításokat is eredményezni fogja. Miután AutoUpdate.Enabled=N
nem engedélyezi az Azure Linux virtuálisgép-ügynök megfelelő frissítését.
A speciális telepítési lehetőségekről, például a forrásról vagy az egyéni helyekre vagy előtagokra való telepítésről a Microsoft Azure Linux virtuálisgép-ügynököt tekintheti meg. A fenti forgatókönyveken kívül nem támogatjuk vagy javasoljuk az Azure Linux virtuálisgép-ügynök forrásból való frissítését vagy újratelepítését.
Parancssori lehetőségek
Zászlók
-
verbose
: Növeli a megadott parancs részletességét. -
force
: Kihagyja egyes parancsok interaktív megerősítését.
Parancsok
help
: Felsorolja a támogatott parancsokat és jelzőket.deprovision
: Megpróbálja megtisztítani a rendszert, és alkalmassá tenni az újraépítésre. A művelet törli a következőt:- Az összes SSH-gazdagépkulcs, ha
Provisioning.RegenerateSshHostKeyPair
a konfigurációs fájlban vany
. -
Nameserver
konfiguráció a /etc/resolv.conf fájlban. - A /etc/shadow fő jelszava, ha
Provisioning.DeleteRootPassword
a konfigurációs fájlban vany
. - Gyorsítótárazott DHCP-ügyfélbérletek.
Az ügyfél visszaállítja a gazdagép nevét a következőre
localhost.localdomain
: .Figyelmeztetés
A deprovisioning nem garantálja, hogy a rendszerkép minden bizalmas információtól törlődik, és alkalmas az újraterjesztésre.
- Az összes SSH-gazdagépkulcs, ha
deprovision+user
: Mindentdeprovision
végrehajt, és törli az utolsó kiosztott felhasználói fiókot (amely a /var/lib/waagent fájlból származik) és a kapcsolódó adatokat. Ezt a paramétert akkor használja, ha egy korábban az Azure-ban kiépített rendszerképet bont le, hogy rögzíthető és újra felhasználható legyen.version
: Megjeleníti a waagent verzióját.serialconsole
: A GRUB-t úgy konfigurálja, hogy a ttyS0- t, az első soros portot jelölje meg rendszerindító konzolként. Ez a beállítás biztosítja, hogy a rendszermag rendszerindítási naplóit a rendszer a soros portra küldje, és elérhetővé teszi a hibakereséshez.daemon
: Démonként futtatja a waagentet a platformmal való interakció kezeléséhez. Ez az argumentum a waagent init szkriptben van megadva.start
: Háttérfolyamatként futtatja a waagentet.
Konfiguráció
A /etc/waagent.conf konfigurációs fájl szabályozza a waagent műveleteit. Íme egy példa egy konfigurációs fájlra:
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
A konfigurációs beállítások három típusból állnak: Boolean
, String
vagy Integer
. Megadhatja a Boolean
konfigurációs beállításokat a következőként y
vagy n
. A speciális kulcsszó None
bizonyos sztring típusú konfigurációs bejegyzésekhez használható.
Provisioning.Enabled
Type: Boolean
Default: y
Ezzel a beállítással a felhasználó engedélyezheti vagy letilthatja az ügynök kiépítési funkcióját. Az érvényes értékek a következők: y
és n
. Ha a kiépítés le van tiltva, a rendszer megőrzi a rendszerkép SSH-gazdagépét és felhasználói kulcsait, és figyelmen kívül hagyja az Azure Provisioning API konfigurációját.
Feljegyzés
A Provisioning.Enabled
paraméter alapértelmezés szerint a n
cloud-initet használó Ubuntu Cloud Imagesre van beépítve.
Provisioning.DeleteRootPassword
Type: Boolean
Default: n
Ha az érték az y
, az ügynök törli a gyökérjelszót az /etc/shadow fájlban a kiépítési folyamat során.
Provisioning.RegenerateSshHostKeyPair
Type: Boolean
Default: y
Ha az érték azy
, az ügynök törli az összes SSH-gazdagépkulcspárt az /etc/ssh/-ból a kiépítési folyamat során, beleértve az ECDSA-t, a DSA-t és az RSA-t. Az ügynök egyetlen friss kulcspárt hoz létre.
A bejegyzés használatával konfigurálja a friss kulcspár titkosítási Provisioning.SshHostKeyPairType
típusát. Egyes disztribúciók újra létrehoznak SSH-kulcspárokat a hiányzó titkosítási típusokhoz, amikor az SSH-démon újraindul – például újraindítás után.
Provisioning.SshHostKeyPairType
Type: String
Default: rsa
Ezt a beállítást egy olyan titkosítási algoritmustípusra állíthatja be, amelyet az SSH-démon támogat a virtuális gépen. A jellemzően támogatott értékek a következők rsa
: , dsa
és ecdsa
. A windowsos putty.exe fájl nem támogatja ecdsa
. Ha windowsos putty.exe szeretne használni Linux-telepítéshez való csatlakozáshoz, használja rsa
vagy dsa
.
Provisioning.MonitorHostName
Type: Boolean
Default: y
Ha az érték az y
, a waagent figyeli a Linux rendszerű virtuális gépet egy gazdagépnév-változás esetén, a parancs által visszaadott hostname
módon. A Waagent ezután automatikusan frissíti a rendszerkép hálózati konfigurációját, hogy tükrözze a változást. Ha le szeretné küldeni a névmódosítást a DNS-kiszolgálókra, a hálózatkezelés újraindul a virtuális gépen. Ez az újraindítás az internetkapcsolat rövid megszakadását eredményezi.
Provisioning.DecodeCustomData
Type: Boolean
Default: n
Ha az érték az y
, a waagent a Base64-ből dekódol CustomData
.
Provisioning.ExecuteCustomData
Type: Boolean
Default: n
Ha az érték az, a y
waagent a kiépítés után fut CustomData
.
Provisioning.AllowResetSysUser
Type: Boolean
Default: n
Ez a beállítás lehetővé teszi a rendszerfelhasználó jelszavának alaphelyzetbe állítását. Alapértelmezés szerint le van tiltva.
Provisioning.PasswordCryptId
Type: String
Default: 6
Ez a beállítás a jelszókivonat létrehozásakor használt algoritmust crypt
adja meg. Az érvényes értékek a következők:
-
1
: MD5 -
2a
:Blowfish -
5
: SHA-256 -
6
: SHA-512
Provisioning.PasswordCryptSaltLength
Type: String
Default: 10
Ez a beállítás a jelszókivonat létrehozásához használt véletlenszerű só hosszát határozza meg.
ResourceDisk.Format
Type: Boolean
Default: y
Ha az érték az y
, a waagent formázja és csatlakoztatja a platform által biztosított erőforráslemezt, kivéve, ha a felhasználó által kért ResourceDisk.Filesystem
fájlrendszertípus.ntfs
Az ügynök egyetlen Linux-partíciót (ID 83) tesz elérhetővé a lemezen. Ez a partíció nem lesz formázva, ha sikeresen csatlakoztatható.
ResourceDisk.Filesystem
Type: String
Default: ext4
Ez a beállítás az erőforráslemez fájlrendszertípusát adja meg. A támogatott értékek Linux-disztribúciótól függően változnak. Ha a sztring az X
, akkor mkfs.X
jelen kell lennie a Linux rendszerképen.
ResourceDisk.MountPoint
Type: String
Default: /mnt/resource
Ez a beállítás megadja az erőforráslemez csatlakoztatási útvonalát. Az erőforráslemez ideiglenes lemez, és a virtuális gép megszüntetésekor kiüríthető.
ResourceDisk.MountOptions
Type: String
Default: None
Ez a beállítás megadja a parancsnak átadni kívánt lemez csatlakoztatási mount -o
beállításait. Az érték például az értékek nodev,nosuid
vesszővel tagolt listája. További információkért tekintse meg a mount(8)
kézi oldalt.
ResourceDisk.EnableSwap
Type: Boolean
Default: n
Ha ezt a beállítást választja, az ügynök létrehoz egy felcserélési fájlt (/swapfile) az erőforráslemezen, és hozzáadja a rendszer felcseréléséhez.
ResourceDisk.SwapSizeMB
Type: Integer
Default: 0
Ez a beállítás megabájtban adja meg a felcserélési fájl méretét.
Logs.Verbose
Type: Boolean
Default: n
Ha ezt a beállítást választja, a napló részletessége felerősítve lesz. A Waagent naplókat a /var/log/waagent.log fájlba, és a rendszer logrotate
funkcióit használja a naplók elforgatásához.
Operációs rendszer. EnableRDMA
Type: Boolean
Default: n
Ha ezt a beállítást választja, az ügynök megpróbál telepíteni és betölteni egy RDMA-kernelillesztőt, amely megfelel a belső vezérlőprogram verziójának a mögöttes hardveren.
Operációs rendszer. RootDeviceScsiTimeout
Type: Integer
Default: 300
Ez a beállítás másodpercek alatt konfigurálja az SCSI időtúllépését az operációsrendszer-lemezen és az adatmeghajtókon. Ha nincs beállítva, a rendszer alapértelmezéseket használ.
Operációs rendszer. OpensslPath
Type: String
Default: None
Ezzel a beállítással megadhatja a titkosítási műveletekhez használandó openssl bináris elérési útját.
HttpProxy.Host, HttpProxy.Port
Type: String
Default: None
Ha ezt a beállítást választja, az ügynök ezt a proxykiszolgálót használja az internet eléréséhez.
AutoUpdate.Enabled
Type: Boolean
Default: y
Az automatikus frissítés engedélyezése vagy letiltása célállapot-feldolgozáshoz. Az alapértelmezett érték y
.
Automatikus naplógyűjtés az Azure Linux vendégügynökében
A 2.7-es verziótól az Azure Linux vendégügynöke olyan funkcióval rendelkezik, amely automatikusan gyűjti és feltölti a naplókat. Ehhez a funkcióhoz jelenleg szükség van systemd
. A gyűjtemény végrehajtása közben egy új systemd
, erőforrások kezelésére hívott azure-walinuxagent-logcollector.slice
szeletet használ.
A cél az offline elemzés elősegítése. Az ügynök létrehoz egy .zip fájlt néhány diagnosztikai naplóból, mielőtt feltöltené őket a virtuális gép gazdagépére. A mérnöki csapatok és a támogatási szakemberek lekérhetik a fájlt a virtuális gép tulajdonosával kapcsolatos problémák kivizsgálásához. Az Azure Linux-vendégügynök által gyűjtött fájlokról az ügynök GitHub-adattárában található azurelinuxagent/common/logcollector_manifests.py fájlban talál technikai információkat.
Ezt a lehetőséget a /etc/waagent.conf szerkesztésével tilthatja le. Frissítés Logs.Collect
a fájlra n
.
Ubuntu-felhőrendszerképek
Az Ubuntu Cloud Images a cloud-init használatával számos olyan konfigurációs feladatot hajt végre, amelyet az Azure Linux virtuálisgép-ügynök egyébként kezelne. A következő különbségek érvényesek:
Provisioning.Enabled
alapértelmezés szerint an
cloud-initet használó Ubuntu-felhőlemezképeken végzi el a kiépítési feladatokat.A következő konfigurációs paraméterek nincsenek hatással az Ubuntu Cloud Imagesre, amelyek a cloud-init használatával kezelik az erőforráslemezt és felcserélik a területet:
ResourceDisk.Format
ResourceDisk.Filesystem
ResourceDisk.MountPoint
ResourceDisk.EnableSwap
ResourceDisk.SwapSizeMB
Az erőforráslemez csatlakoztatási pontjának konfigurálásához és a hely felcseréléséhez az Ubuntu Cloud Imagesen a kiépítés során tekintse meg a következő erőforrásokat: