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.
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 daya
Memformat dan memasang disk sumber daya
Mengonfigurasi ruang pertukaran
Jaringan
Mengelola rute untuk meningkatkan kompatibilitas dengan server DHCP platform
Memastikan stabilitas nama antarmuka jaringan
Kernel
Mengonfigurasi NUMA virtual (dinonaktifkan untuk kernel 2.6.37)
Mengonsumsi entropi Hyper-V untuk /dev/random
Mengonfigurasi batas waktu SCSI untuk perangkat root, yang dapat jarak jauh
Diagnostik
Menyediakan pengalihan konsol ke port serial
Penyebaran Manajer Komputer Virtual Pusat Sistem
Mendeteksi dan bootstrap agen Manajer Komputer Virtual untuk Linux saat berjalan 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 waktu boot untuk penyebaran VM. DVD ini mencakup file konfigurasi yang mematuhi Open Virtualization Format (OVF) yang berisi semua informasi provisi selain pasangan kunci SSH.
Titik akhir TCP yang mengekspos 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.
Distribusi
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+
Tidak didukung
Oracle Linux
6.4+, 7.x+, 8.x+
Tidak didukung
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 (rilis LTS)
18.04+, 20.04+, 22.04+, 24.04+
20.04+, 22.04+, 24.04+
Penting
FIPS 140-3 Diberlakukan tidak didukung pada RHEL/Ubuntu dengan ekstensi menggunakan 'protectedSettings'. ETA untuk dukungan adalah pertengahan 2025.
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. Setelah AutoUpdate.Enabled=N itu tidak akan memungkinkan Agen VM Linux Azure untuk memperbarui dengan benar.
Untuk opsi penginstalan tingkat lanjut, seperti menginstal dari sumber atau ke lokasi atau awalan kustom, lihat Agen VM Linux Microsoft Azure. 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 provisi 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.
Sewa klien DHCP cache.
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 penelusuran kesalahan.
daemon: Menjalankan waagent sebagai daemon untuk mengelola interaksi dengan platform. Argumen ini ditentukan 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:
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.
Provisioning.Enabled
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 default ke n pada Gambar Cloud Ubuntu yang menggunakan cloud-init untuk provisi.
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 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 VM Linux untuk perubahan nama host, seperti yang hostname dikembalikan oleh perintah . 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 dekode CustomData dari Base64.
Provisioning.ExecuteCustomData
Type: Boolean
Default: n
Jika nilainya adalah y, waagent berjalan setelah provisi CustomData .
Provisioning.AllowResetSysUser
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 memasang disk sumber daya yang disediakan platform, kecuali jenis sistem file yang diminta ResourceDisk.Filesystem pengguna adalah ntfs. Agen membuat satu partisi Linux (ID 83) tersedia pada disk. Partisi ini tidak diformat jika dapat berhasil dipasang.
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 dideprovisi.
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.
Logs.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.
OS.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.
AutoUpdate.Enabled
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 iringan baru systemd yang dipanggil azure-walinuxagent-logcollector.slice untuk mengelola sumber daya saat melakukan koleksi.
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.
Ubuntu Cloud Images
Gambar Cloud Ubuntu menggunakan cloud-init untuk melakukan banyak tugas konfigurasi yang akan dikelola agen VM Azure Linux. Perbedaan berikut berlaku:
Provisioning.Enabled default ke n pada Gambar 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 sumber daya dan ruang pertukaran pada Gambar Cloud Ubuntu selama provisi, lihat sumber daya berikut:
Temukan cara menyiapkan dan mengintegrasikan agen Analitik Log dengan ruang kerja di Defender untuk Cloud menggunakan portal Azure, meningkatkan kemampuan analisis data keamanan.