Bagikan melalui


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