Aracılığıyla paylaş


Vm'ler ve görüntülerden Linux Aracısı'nı devre dışı bırakma veya kaldırma

Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri

Linux Aracısı'nı kaldırmadan önce, Linux Aracısı kaldırıldıktan sonra vm'nin ne yapamayacaklarını anlamanız gerekir.

Azure sanal makine (VM) uzantıları , Azure VM'lerinde dağıtım sonrası yapılandırma ve otomasyon görevleri sağlayan küçük uygulamalardır, uzantılar Azure denetim düzlemi tarafından yüklenir ve yönetilir. Platform uzantısı komutlarını işlemek ve uzantının VM içinde doğru durumda olduğundan emin olmak Azure Linux Aracısı'nın işidir.

Azure platformu VM yapılandırması, izleme, güvenlik ve yardımcı program uygulamaları gibi birçok uzantıyı barındırıyor. Birinci ve üçüncü taraf uzantılardan oluşan büyük bir seçenek vardır ve uzantıların kullanıldığı temel senaryo örnekleri şunlardır:

  • Azure Backup, İzleme, Disk Şifrelemesi, Güvenlik, Site Çoğaltma ve diğerleri gibi birinci taraf Azure hizmetlerini destekleme.
  • SSH / Parola sıfırlamaları
  • VM yapılandırması - Özel betikleri çalıştırma, Chef, Puppet aracılarını yükleme vb.
  • AV ürünleri, VM güvenlik açığı araçları, VM ve Uygulama izleme araçları gibi üçüncü taraf ürünler.
  • Uzantılar yeni bir VM dağıtımıyla paketlenebilir. Örneğin, daha büyük bir dağıtımın parçası olabilir, VM sağlamada uygulamaları yapılandırabilir veya dağıtım sonrasında desteklenen uzantıyla çalıştırılan sistemlere karşı çalışabilirler.

Uzantı işlemeyi devre dışı bırakma

Gereksinimlerinize bağlı olarak uzantı işlemeyi devre dışı bırakmanın çeşitli yolları vardır, ancak devam etmeden önce VM'ye dağıtılan tüm uzantıları kaldırmanız GEREKİR, örneğin Azure CLI kullanarak şunları listeleyebilir ve silebilirsiniz:

az vm extension delete -g MyResourceGroup --vm-name MyVm -n extension_name

Not

Yukarıdakini yapmazsanız, platform 40 dakika sonra uzantı yapılandırmasını ve zaman aşımını göndermeyi dener.

Kontrol düzleminde devre dışı bırakma

Gelecekte uzantılara ihtiyacınız olup olmayacağından emin değilseniz, Linux Aracısı'nı VM'de yüklü bırakabilir ve ardından uzantı işleme özelliğini platformdan devre dışı bırakabilirsiniz. Bu seçenek API sürümü 2018-06-01 veya üzeri sürümlerde Microsoft.Compute kullanılabilir ve Yüklü Linux Aracısı sürümüne bağımlılığı yoktur.

az vm update -g <resourceGroup> -n <vmName> --set osProfile.allowExtensionOperations=false

Yukarıdaki komutla bu uzantı işlemesini platformdan kolayca yeniden oluşturabilirsiniz, ancak 'true' olarak ayarlayabilirsiniz.

Çalışan bir VM'den Linux Aracısı'nı kaldırma

Yukarıdaki gibi daha önce vm'den tüm mevcut uzantıları kaldırdığınızdan emin olun.

1. Adım: Azure Linux Aracısı'nı kaldırma

İlişkili yapılandırma yapıtlarını değil yalnızca Linux Aracısı'nı kaldırırsanız, daha sonraki bir tarihte yeniden yükleyebilirsiniz. Azure Linux Aracısını kaldırmak için kök olarak aşağıdakilerden birini çalıştırın:

Ubuntu 18.04+ için

sudo apt -y remove walinuxagent

Redhat 7.X, 8.X ve 9.X için

sudo yum -y remove WALinuxAgent

SUSE 12.X, 15.X için

sudo zypper --non-interactive remove python-azure-agent

2. Adım: (İsteğe bağlı) Azure Linux Aracısı yapıtlarını kaldırma

Önemli

Linux Aracısı'nın tüm ilişkili yapıtlarını kaldırabilirsiniz, ancak bu, daha sonraki bir tarihte yeniden yükleyemeyeceğiniz anlamına gelir. Bu nedenle, öncelikle Linux Aracısı'nı devre dışı bırakmayı ve yalnızca yukarıdakini kullanarak Linux Aracısı'nı kaldırmayı göz önünde bulundurmanız kesinlikle önerilir.

Linux Aracısı'nı bir daha yeniden yükleymeyeceğini biliyorsanız, aşağıdakileri çalıştırabilirsiniz:

Ubuntu 18.04+ için

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

Redhat 7.X, 8.X, 9.X için

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

SUSE 12.X, 15.X için

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

Linux Aracısı olmadan görüntü hazırlama

Zaten cloud-init içeren bir görüntüye sahipseniz ve Linux aracısını kaldırmak, ancak yine de cloud-init kullanarak sağlamak istiyorsanız, Azure Linux Aracısı'nı kaldırmak için 2. Adım 'daki (ve isteğe bağlı olarak 3. Adım) adımları kök olarak çalıştırın; ardından aşağıdakiler cloud-init yapılandırmasını ve önbelleğe alınan verileri kaldırır ve vm'yi özel görüntü oluşturmaya hazırlar.

sudo cloud-init clean --logs --seed

Sağlamayı kaldırma ve görüntü oluşturma

Linux Aracısı, "waagent -deprovision+user" adımıyla mevcut görüntü meta verilerinin bazılarını temizleme özelliğine sahiptir, ancak kaldırıldıktan sonra aşağıdaki gibi eylemler gerçekleştirmeniz ve diğer hassas verileri kaldırmanız gerekir.

  • Var olan tüm ssh ana bilgisayar anahtarlarını kaldırma

    sudo rm /etc/ssh/ssh_host_*key*
    
  • Yönetici hesabını silme

    sudo touch /var/run/utmp
    sudo userdel -f -r <admin_user_account>
    
  • Kök parolayı silme

    sudo passwd -d root
    

Yukarıdaki işlemi tamamladıktan sonra Azure CLI kullanarak özel görüntü oluşturabilirsiniz.

Normal yönetilen görüntü oluşturma

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

Linux Aracısı içermeyen bir görüntüden VM oluşturma

Görüntüden Linux Aracısı olmadan VM oluşturduğunuzda, VM dağıtım yapılandırmasının bu VM'de uzantıların desteklenmediğini belirttiğinden emin olmanız gerekir.

Not

Yukarıdakini yapmazsanız, platform 40 dakika sonra uzantı yapılandırmasını ve zaman aşımını göndermeyi dener.

Uzantıları devre dışı bırakılmış VM'yi dağıtmak için --enable-agent ile Azure CLI'yı kullanabilirsiniz.

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

Alternatif olarak, azure Resource Manager (ARM) şablonlarını kullanarak bunu ayarlamak "provisionVMAgent": false,yoluyla yapabilirsiniz.

"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')]"

Sonraki adımlar

Daha fazla bilgi için bkz. Linux sağlama.