Az Azure Linux virtuálisgép-ügynök áttekintése

Figyelemfelhívás

Ez a cikk a CentOS-ra, egy olyan Linux-disztribúcióra hivatkozik, amely közel áll az élettartam (EOL) állapotához. Fontolja meg a használatát, és ennek megfelelően tervezze meg. További információ: CentOS End Of Life útmutató.

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ózatkezelés

  • Ú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 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+ 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+
Sziklás Linux 9.x+ 9.x+
SLES 12.x+, 15.x+ 15.x SP4+
Ubuntu 18.04+, 20.04+, 22.04+ 20.04+, 22.04+

Fontos

Az RHEL/Oracle Linux 6.10 az egyetlen RHEL/OL 6 verzió, amely kiterjesztett életciklus-támogatással érhető el. A kiterjesztett karbantartás 2024. június 30-án ér véget.

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 van y .
    • Nameserverkonfigurá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.

  • deprovision+user: Mindent deprovision 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, Stringvagy 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 ywaagent 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,nosuidvessző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 a n 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: