Gambaran umum Azure Linux VM Agent

Perhatian

Artikel ini mereferensikan CentOS, distribusi Linux yang mendekati status End Of Life (EOL). Harap pertimbangkan penggunaan dan rencanakan yang sesuai. Untuk informasi selengkapnya, lihat panduan Akhir Masa Pakai CentOS.

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+
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+ 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 18.04+, 20.04+, 22.04+ 20.04+, 22.04+

Penting

RHEL/Oracle Linux 6.10 adalah satu-satunya versi RHEL/OL 6 dengan Dukungan Siklus Hidup Diperpanjang yang tersedia. Pemeliharaan yang diperpanjang berakhir pada 30 Juni 2024.

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:

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.

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.

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

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