Nonaktifkan atau hapus Agen Linux dari VM dan gambar
Berlaku untuk: ✔️ Mesin Virtual Linux ✔️ Set skala fleksibel
Sebelum menghapus Agen Linux, Anda harus memahami apa yang tidak akan dapat dilakukan VM setelah Agen Linux dihapus.
Ekstensi Komputer virtual (VM) Azure adalah aplikasi kecil yang menyediakan konfigurasi pasca-penyebaran dan tugas otomatisasi pada Azure VM, ekstensi dipasang dan dikelola oleh sarana kontrol Azure. Adalah tugas Agen Linux Azure untuk memproses perintah ekstensi platform dan memastikan status ekstensi yang benar di dalam VM.
Platform Azure meng-host banyak ekstensi yang berkisar dari konfigurasi VM, pemantauan, keamanan, dan aplikasi utilitas. Ada banyak pilihan ekstensi pihak pertama dan ketiga, contoh skenario utama yang digunakan ekstensi untuk:
- Mendukung layanan Azure pihak pertama, seperti Microsoft Azure Backup, Pemantauan, Enkripsi Disk, Keamanan, Replikasi Situs, dan lainnya.
- Setel ulang SSH / Kata Sandi
- Konfigurasi VM - Menjalankan skrip kustom, memasang Chef, agen Puppet, dll.
- Produk pihak ketiga, seperti produk AV, alat kerentanan VM, VM dan alat pemantauan aplikasi.
- Ekstensi dapat dipaket dengan penyebaran VM baru. Misalnya, mereka dapat menjadi bagian dari penyebaran yang lebih besar, mengonfigurasi aplikasi pada penyediaan VM, atau berjalan terhadap ekstensi yang didukung yang dioperasikan sistem pasca penyebaran.
Menonaktifkan pemrosesan ekstensi
Ada beberapa cara untuk menonaktifkan pemrosesan ekstensi, tergantung pada kebutuhan Anda, tetapi sebelum melanjutkan, Anda HARUS menghapus semua ekstensi yang diterapkan ke VM, misalnya menggunakan Azure CLI, Anda dapat mencantumkan dan menghapus:
az vm extension delete -g MyResourceGroup --vm-name MyVm -n extension_name
Catatan
Jika Anda tidak melakukan hal di atas, platform akan mencoba mengirim konfigurasi ekstensi dan waktu habis setelah 40 menit.
Nonaktifkan di sarana kontrol
Jika Anda tidak yakin apakah Anda akan membutuhkan ekstensi di masa depan, Anda dapat meninggalkan Agen Linux yang dipasang pada VM, lalu menonaktifkan kemampuan pemrosesan ekstensi dari platform. Opsi ini tersedia dalam Microsoft.Compute
versi api 2018-06-01
atau lebih tinggi, dan tidak memiliki dependensi pada versi Agen Linux yang dipasang.
az vm update -g <resourceGroup> -n <vmName> --set osProfile.allowExtensionOperations=false
Anda dapat dengan mudah menghidupkan kembali pemrosesan ekstensi ini dari platform, dengan perintah di atas, tetapi mengaturnya menjadi 'benar'.
Hapus Agen Linux dari VM yang sedang berjalan
Pastikan Anda telah menghapus semua ekstensi yang ada dari VM sebelumnya, sesuai di atas.
Langkah 1: Hapus Agen Linux Azure
Jika Anda hanya menghapus Agen Linux, dan bukan artefak konfigurasi terkait, Anda dapat memasang ulang di kemudian hari. Jalankan salah satu hal berikut ini, sebagai root, untuk menghapus Azure Linux Agent:
Untuk Ubuntu 18.04+
sudo apt -y remove walinuxagent
Untuk Redhat 7.X, 8.X dan 9.X
sudo yum -y remove WALinuxAgent
Untuk SUSE 12.X, 15.X
sudo zypper --non-interactive remove python-azure-agent
Langkah 2: (Opsional) Hapus artefak Agen Linux Azure
Penting
Anda dapat menghapus semua artefak terkait dari Agen Linux, tetapi ini berarti Anda tidak dapat memasangnya kembali di kemudian hari. Oleh karena itu, sangat disarankan Anda mempertimbangkan untuk menonaktifkan Agen Linux terlebih dahulu, menghapus Agen Linux menggunakan yang di atas saja.
Jika Anda tahu Anda tidak akan pernah memasang ulang Agen Linux lagi, maka Anda dapat menjalankan yang berikut:
Untuk Ubuntu 18.04+
sudo pt -y purge walinuxagent
sudo cp -rp /var/lib/waagent /var/lib/waagent.bkp
sudo rm -rf /var/lib/waagent
sudo rm -f /var/log/waagent.log
Untuk Redhat 7.X, 8.X, 9.X
sudo yum -y remove WALinuxAgent
sudo rm -f /etc/waagent.conf.rpmsave
sudo rm -rf /var/lib/waagent
sudo rm -f /var/log/waagent.log
Untuk SUSE 12.X, 15.X
sudo zypper --non-interactive remove python-azure-agent
sudo rm -f /etc/waagent.conf.rpmsave
sudo rm -rf /var/lib/waagent
sudo rm -f /var/log/waagent.log
Menyiapkan gambar tanpa Agen Linux
Jika Anda memiliki gambar yang sudah berisi cloud-init, dan Anda ingin menghapus agen Linux, tetapi masih menyediakan menggunakan cloud-init, jalankan langkah-langkah di Langkah 2 (dan opsional Langkah 3) sebagai root untuk menghapus Azure Linux Agent dan kemudian berikut ini akan menghapus konfigurasi cloud-init dan data cache, dan menyiapkan VM untuk membuat gambar kustom.
sudo cloud-init clean --logs --seed
Cabut akses dan buat gambar
Agen Linux memiliki kemampuan untuk membersihkan beberapa metadata gambar yang ada, dengan langkah "waagent -deprovision+user", namun, setelah dihapus, Anda harus melakukan tindakan seperti di bawah ini, dan menghapus data sensitif lainnya darinya.
Hapus semua kunci host ssh yang ada
sudo rm /etc/ssh/ssh_host_*key*
Hapus akun admin
sudo touch /var/run/utmp sudo userdel -f -r <admin_user_account>
Hapus kata sandi root
sudo passwd -d root
Setelah menyelesaikan hal di atas, Anda dapat membuat gambar kustom menggunakan Azure CLI.
Buat gambar yang dikelola secara teratur
az vm deallocate -g <resource_group> -n <vm_name>
az vm generalize -g <resource_group> -n <vm_name>
az image create -g <resource_group> -n <image_name> --source <vm_name>
Membuat versi gambar di Azure Compute Gallery
az sig image-version create \
-g $sigResourceGroup
--gallery-name $sigName
--gallery-image-definition $imageDefName
--gallery-image-version 1.0.0
--managed-image /subscriptions/00000000-0000-0000-0000-00000000xxxx/resourceGroups/imageGroups/providers/images/MyManagedImage
Membuat VM dari gambar yang tidak berisi Agen Linux
Ketika Anda membuat VM dari gambar tanpa Agen Linux, Anda perlu memastikan konfigurasi penyebaran VM menunjukkan ekstensi tidak didukung pada VM ini.
Catatan
Jika Anda tidak melakukan hal di atas, platform akan mencoba mengirim konfigurasi ekstensi dan waktu habis setelah 40 menit.
Untuk menyebarkan VM dengan ekstensi yang dinonaktifkan, Anda dapat menggunakan Azure CLI dengan --enable-agent.
az vm create \
--resource-group $resourceGroup \
--name $prodVmName \
--image RedHat:RHEL:8.1-ci:latest \
--admin-username azadmin \
--ssh-key-value "$sshPubkeyPath" \
--enable-agent false
Atau, Anda dapat melakukan ini menggunakan templat Azure Resource Manager (ARM), dengan mengatur "provisionVMAgent": false,
.
"osProfile": {
"computerName": "[parameters('virtualMachineName')]",
"adminUsername": "[parameters('adminUsername')]",
"linuxConfiguration": {
"disablePasswordAuthentication": "true",
"provisionVMAgent": false,
"ssh": {
"publicKeys": [
{
"path": "[concat('/home/', parameters('adminUsername'), '/.ssh/authorized_keys')]",
"keyData": "[parameters('adminPublicKey')]"
Langkah berikutnya
Untuk informasi selengkapnya, lihat Provisi Linux.