Bagikan melalui


Gambaran umum Azure Linux VM Agent

Microsoft Azure Linux VM Agent (waagent) mengelola provisi Linux dan FreeBSD, bersama dengan interaksi komputer virtual (VM) dengan pengontrol fabric Azure. Selain agen Linux yang menyediakan fungsionalitas provisi, Azure menyediakan opsi untuk menggunakan cloud-init untuk beberapa sistem operasi Linux.

Agen Linux menyediakan fungsionalitas berikut untuk penyebaran Linux dan FreeBSD Azure Virtual Machines. Untuk informasi selengkapnya, lihat readme Agen VM Linux Azure di GitHub.

Penting

FIPS 140-3 Diberlakukan tidak didukung pada RHEL/Ubuntu dengan ekstensi menggunakan 'protectedSettings'.

Dukungan untuk FIPS 140-3 akan ditambahkan selama jangka waktu CY25 Q4.

Provisi gambar

  • Membuat akun pengguna
  • Mengonfigurasi jenis autentikasi SSH
  • Menyebarkan kunci publik SSH dan pasangan kunci
  • Mengatur nama host
  • Menerbitkan nama host ke DNS platform
  • Melaporkan sidik jari kunci host SSH ke platform
  • Mengelola disk sumber
  • Memformat dan memasang disk sumber daya
  • Mengonfigurasi ruang pertukaran

Jaringan

  • Mengelola rute untuk meningkatkan kompatibilitas dengan server DHCP platform
  • Memastikan stabilitas nama antarmuka jaringan

Inti sistem operasi

  • Mengonfigurasi NUMA virtual (dinonaktifkan untuk kernel 2.6.37)
  • Mengonsumsi entropi Hyper-V untuk /dev/random
  • Mengonfigurasi penghentian waktu SCSI untuk perangkat root, yang dapat diakses dari jarak jauh.

Diagnostik

  • Menyediakan pengalihan konsol ke port serial

Penyebaran Manajer Komputer Virtual Pusat Sistem

  • Mendeteksi dan memulai agen Pengelola Mesin Virtual untuk Linux ketika dijalankan di lingkungan System Center Virtual Machine Manager 2012 R2

Ekstensi VM

  • Menyuntikkan komponen yang ditulis oleh Microsoft dan mitra ke VM Linux untuk mengaktifkan otomatisasi perangkat lunak dan konfigurasi

Anda dapat menemukan implementasi referensi Ekstensi VM di GitHub.

Komunikasi

Aliran informasi dari platform ke agen terjadi melalui dua saluran:

  • DVD terpasang berikut boot untuk penyebaran VM. DVD ini mencakup file konfigurasi yang mematuhi Open Virtualization Format (OVF) yang berisi semua informasi provisi selain pasangan kunci SSH.
  • Sebuah titik akhir TCP yang memaparkan REST API yang digunakan untuk mendapatkan konfigurasi penyebaran dan topologi.

Persyaratan

Pengujian telah mengonfirmasi bahwa sistem berikut berfungsi dengan Azure Linux VM Agent.

Catatan

Daftar ini mungkin berbeda dari distribusi Linux yang didukung di Azure.

Penerbit Distribusi x64 ARM64
Komunitas Linux Alma Alma Linux 8.x+, 9.x+ 8.x+, 9.x+
Credativ Debian 10+ 11.x+
Kinvolk Flatcar Linux 3374.2.x+ 3374.2.x+
Microsoft Azure Linux 2.x 2.x
Proyek openSUSE openSUSE 12.3+ Tidak didukung
Oracle Oracle Linux 6.4+, 7.x+, 8.x+ Tidak didukung
Red Hat Red Hat Enterprise Linux 6.7+, 7.x+, 8.x+, 9.x+ 8.6+, 9.0+
CIQ Rocky Linux 9.x+ 9.x+
SUSE SLES 12.x+, 15.x+ 15.x SP4+
Canonical Ubuntu (rilis LTS) 18.04+, 20.04+, 22.04+, 24.04+ 20.04+, 22.04+, 24.04+

Sistem lain yang didukung:

  • Agen bekerja pada lebih banyak sistem daripada yang tercantum dalam dokumentasi. Namun, kami tidak menguji atau memberikan dukungan untuk distro yang tidak ada dalam daftar yang didukung. Secara khusus, FreeBSD tidak didukung. Pelanggan dapat mencoba FreeBSD 8 dan jika mereka mengalami masalah, mereka dapat membuka masalah di repositori GitHub kami dan kami mungkin dapat membantu.

Agen Linux tergantung pada paket sistem ini agar berfungsi dengan baik:

  • Python 2.6+
  • OpenSSL 1.0+
  • OpenSSH 5.3+
  • Utilitas sistem file: sfdisk, fdisk, mkfs, parted
  • Alat kata sandi: chpasswd, sudo
  • Alat pemrosesan teks: sed, grep
  • Alat jaringan: ip-route
  • Dukungan kernel untuk memasang sistem file UDF

Pastikan VM Anda memiliki akses ke alamat IP 168.63.129.16. Untuk informasi selengkapnya, lihat Apa itu alamat IP 168.63.129.16?.

Penginstalan

Metode yang didukung untuk menginstal dan meningkatkan Azure Linux VM Agent menggunakan RPM atau paket DEB dari repositori paket distribusi Anda. Semua penyedia distribusi yang didukung mengintegrasikan paket Azure Linux VM Agent ke dalam gambar dan repositori mereka. Beberapa distribusi Linux mungkin menonaktifkan fitur Azure Linux VM Agent Auto Update dan beberapa repositori mungkin juga berisi versi lama, yang mungkin memiliki masalah dengan ekstensi modern, jadi, sebaiknya instal versi stabil terbaru. Untuk memastikan Azure Linux VM Agent diperbarui dengan benar, kami sarankan memiliki opsi AutoUpdate.Enabled=Y dalam /etc/waagent.conf file atau hanya mengomentari opsi tersebut akan mengakibatkan default-nya juga. Memiliki AutoUpdate.Enabled=N tidak akan memungkinkan Agen VM Linux Azure untuk memperbarui dengan benar.

Untuk opsi pemasangan lanjutan, seperti memasang dari sumber atau ke lokasi dan awalan kustom, lihat Microsoft Azure Linux VM Agent. Selain skenario ini, kami tidak mendukung atau merekomendasikan peningkatan atau pemasangan ulang Agen VM Linux Azure dari sumber.

Opsi baris perintah

Bendera

  • verbose: Meningkatkan verbositas perintah yang ditentukan.
  • force: Melewati konfirmasi interaktif untuk beberapa perintah.

Perintah

  • help: Mencantumkan perintah dan bendera yang didukung.

  • deprovision: Mencoba membersihkan sistem dan membuatnya cocok untuk penyediaan ulang. Operasi menghapus:

    • Semua kunci host SSH, jika Provisioning.RegenerateSshHostKeyPair ada y dalam file konfigurasi.
    • Nameserver konfigurasi di /etc/resolv.conf.
    • Kata sandi akar dari /etc/shadow, jika Provisioning.DeleteRootPassword ada y dalam file konfigurasi.
    • Data sewa klien DHCP yang disimpan sementara.

    Klien mengatur ulang nama host ke localhost.localdomain.

    Peringatan

    Pembatalan penyediaan tidak menjamin bahwa gambar dibersihkan dari semua informasi sensitif dan cocok untuk didistribusikan ulang.

  • deprovision+user: Melakukan segala sesuatu di deprovision dan menghapus akun pengguna terakhir yang disediakan (diperoleh dari /var/lib/waagent) dan data terkait. Gunakan parameter ini saat Anda mendeprovisi gambar yang sebelumnya disediakan di Azure sehingga dapat ditangkap dan digunakan kembali.

  • version: Menampilkan versi waagent.

  • serialconsole: Mengonfigurasi GRUB untuk menandai ttyS0, port serial pertama, sebagai konsol boot. Opsi ini memastikan bahwa log boot kernel dikirim ke port serial dan tersedia untuk debugging.

  • daemon: Menjalankan waagent sebagai daemon untuk mengelola interaksi dengan platform. Argumen ini disediakan untuk waagent dalam skrip init waagent.

  • start: Menjalankan waagen sebagai proses latar belakang.

Konfigurasi

File konfigurasi /etc/waagent.conf mengontrol tindakan waagent. Berikut adalah contoh file konfigurasi:

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

Opsi konfigurasi terdiri dari tiga jenis: Boolean, , Stringatau Integer. Anda dapat menentukan Boolean opsi konfigurasi sebagai y atau n. Kata kunci None khusus mungkin digunakan untuk beberapa entri konfigurasi jenis string.

Penyediaan.Diaktifkan

Type: Boolean
Default: y

Opsi ini memungkinkan pengguna untuk mengaktifkan atau menonaktifkan fungsionalitas provisi di agen. Nilai yang berlaku adalah y atau n. Jika provisi dinonaktifkan, host SSH dan kunci pengguna dalam gambar dipertahankan dan konfigurasi di API provisi Azure diabaikan.

Catatan

Parameter Provisioning.Enabled secara default diatur ke n pada Gambar Cloud Ubuntu yang menggunakan cloud-init untuk penyediaan.

Provisioning.DeleteRootPassword

Type: Boolean
Default: n

Jika nilainya adalah y, agen menghapus kata sandi akar dalam file /etc/shadow selama proses provisi.

Provisioning.RegenerateSshHostKeyPair

Type: Boolean
Default: y

Jika nilainya adalah y, agen menghapus semua pasangan kunci host SSH dari /etc/ssh/ selama proses provisi, termasuk ECDSA, DSA, dan RSA. Agen menghasilkan satu pasangan kunci kriptografi baru.

Konfigurasikan jenis enkripsi untuk pasangan kunci baru dengan menggunakan Provisioning.SshHostKeyPairType entri . Beberapa distribusi membuat ulang pasangan kunci SSH untuk jenis enkripsi yang hilang saat daemon SSH dimulai ulang--misalnya, setelah boot ulang.

Provisioning.SshHostKeyPairType

Type: String
Default: rsa

Anda dapat mengatur opsi ini ke jenis algoritma enkripsi yang didukung daemon SSH pada VM. Nilai yang biasanya didukung adalah rsa, , dsadan ecdsa. File putty.exe di Windows tidak mendukung ecdsa. Jika Anda ingin menggunakan putty.exe di Windows untuk menyambungkan ke penyebaran Linux, gunakan rsa atau dsa.

Provisioning.MonitorHostName

Type: Boolean
Default: y

Jika nilainya adalah y, waagent memantau perubahan nama host di VM Linux, seperti yang dikembalikan oleh perintah hostname. Waagent kemudian secara otomatis memperbarui konfigurasi jaringan dalam gambar untuk mencerminkan perubahan. Untuk mendorong perubahan nama ke server DNS, jaringan dimulai ulang pada VM. Mulai ulang ini mengakibatkan hilangnya konektivitas internet secara singkat.

Provisioning.DecodeCustomData

Type: Boolean
Default: n

Jika nilainya adalah y, waagent mendekode CustomData dari Base64.

Penyediaan.JalankanDataKustom

Type: Boolean
Default: n

Jika nilainya adalah y, waagent menjalankan CustomData setelah penyediaan.

Penyediaan.IzinkanResetPenggunaSistem

Type: Boolean
Default: n

Opsi ini memungkinkan kata sandi untuk pengguna sistem diatur ulang. Ini dinonaktifkan secara default.

Provisioning.PasswordCryptId

Type: String
Default: 6

Opsi ini menentukan algoritma yang crypt digunakan saat menghasilkan hash kata sandi. Nilai yang valid adalah:

  • 1: MD5
  • 2a:Blowfish
  • 5: SHA-256
  • 6: SHA-512

Provisioning.PasswordCryptSaltLength

Type: String
Default: 10

Opsi ini menentukan panjang garam acak yang digunakan dalam menghasilkan hash kata sandi.

ResourceDisk.Format

Type: Boolean
Default: y

Jika nilainya adalah y, waagent memformat dan mengaitkan disk sumber daya yang disediakan oleh platform, kecuali jika jenis sistem file yang diminta oleh pengguna dalam ResourceDisk.Filesystem adalah ntfs. Agen membuat satu partisi Linux (ID 83) tersedia pada disk. Partisi ini tidak diformat jika dapat dipasang dengan sukses.

ResourceDisk.Filesystem

Type: String
Default: ext4

Opsi ini menentukan jenis sistem file untuk disk sumber daya. Nilai yang didukung bervariasi menurut distribusi Linux. Jika string adalah X, maka mkfs.X harus ada pada gambar Linux.

ResourceDisk.MountPoint

Type: String
Default: /mnt/resource

Opsi ini menentukan jalur tempat disk sumber daya dipasang. Disk sumber daya adalah disk sementara dan mungkin dikosongkan ketika VM dinonaktifkan.

ResourceDisk.MountOptions

Type: String
Default: None

Opsi ini menentukan opsi pemasangan disk yang akan diteruskan ke mount -o perintah . Nilainya adalah daftar nilai yang dipisahkan koma, misalnya, nodev,nosuid. Untuk informasi selengkapnya, lihat mount(8) halaman manual.

ResourceDisk.EnableSwap

Type: Boolean
Default: n

Jika Anda mengatur opsi ini, agen membuat file swap (/swapfile) pada disk sumber daya dan menambahkannya ke ruang pertukaran sistem.

ResourceDisk.SwapSizeMB

Type: Integer
Default: 0

Opsi ini menentukan ukuran file swap dalam megabyte.

Log.Verbose

Type: Boolean
Default: n

Jika Anda mengatur opsi ini, verbositas log akan ditingkatkan. Log Waagent ke /var/log/waagent.log dan menggunakan fungsionalitas sistem logrotate untuk memutar log.

Sistem operasi. EnableRDMA

Type: Boolean
Default: n

Jika Anda mengatur opsi ini, agen mencoba menginstal lalu memuat driver kernel RDMA yang cocok dengan versi firmware pada perangkat keras yang mendasar.

Sistem operasi. RootDeviceScsiTimeout

Type: Integer
Default: 300

Opsi ini mengonfigurasi batas waktu SCSI dalam hitungan detik pada disk OS dan drive data. Jika tidak diatur, default sistem akan digunakan.

Sistem operasi. OpensslPath

Type: String
Default: None

Anda dapat menggunakan opsi ini untuk menentukan jalur alternatif untuk biner openssl yang akan digunakan untuk operasi kriptografi.

HttpProxy.Host, HttpProxy.Port

Type: String
Default: None

Jika Anda mengatur opsi ini, agen menggunakan server proksi ini untuk mengakses internet.

PembaruanOtomatis.Diaktifkan

Type: Boolean
Default: y

Aktifkan atau nonaktifkan pembaruan otomatis untuk pemrosesan status tujuan. Nilai defaultnya adalah y.

Pengumpulan log otomatis di Agen Tamu Azure Linux

Pada versi 2.7+, Agen Tamu Azure Linux memiliki fitur untuk secara otomatis mengumpulkan beberapa log dan mengunggahnya. Fitur ini saat ini memerlukan systemd. Ini menggunakan slice baru systemd yang disebut azure-walinuxagent-logcollector.slice untuk mengelola sumber daya saat melaksanakan pengumpulan.

Tujuannya adalah untuk memfasilitasi analisis offline. Agen menghasilkan file .zip dari beberapa log diagnostik sebelum mengunggahnya ke host VM. Tim teknik dan profesional dukungan dapat mengambil file untuk menyelidiki masalah bagi pemilik VM. Untuk informasi teknis tentang file yang dikumpulkan Agen Tamu Azure Linux, lihat file azurelinuxagent/common/logcollector_manifests.py di repositori GitHub agen.

Anda dapat menonaktifkan opsi ini dengan mengedit /etc/waagent.conf. Perbarui Logs.Collect ke n.

Gambar Cloud Ubuntu

Gambar Cloud Ubuntu menggunakan cloud-init untuk melakukan banyak tugas konfigurasi yang jika tidak, akan dikelola oleh Agen Linux VM Azure. Perbedaan berikut berlaku:

  • Provisioning.Enabled diatur secara default ke n pada citra cloud Ubuntu yang menggunakan cloud-init untuk melakukan tugas provisi.

  • Parameter konfigurasi berikut tidak berpengaruh pada Ubuntu Cloud Images yang menggunakan cloud-init untuk mengelola disk sumber daya dan ruang swap:

    • ResourceDisk.Format
    • ResourceDisk.Filesystem
    • ResourceDisk.MountPoint
    • ResourceDisk.EnableSwap
    • ResourceDisk.SwapSizeMB

Untuk mengonfigurasi titik pemasangan disk resource dan ruang pertukaran pada Ubuntu Cloud Images selama provisi, lihat sumber daya berikut: