De Linux-agent uitschakelen of verwijderen van VM's en installatiekopieën
Van toepassing op: ✔️ Flexibele schaalsets voor Linux-VM's ✔️
Voordat u de Linux-agent verwijdert, moet u weten wat de VIRTUELE machine niet meer kan doen nadat de Linux-agent is verwijderd.
Extensies voor virtuele Azure-machines (VM's) zijn kleine toepassingen die configuratie- en automatiseringstaken na de implementatie bieden op Virtuele Azure-machines, extensies worden geïnstalleerd en beheerd door het Azure-besturingsvlak. Het is de taak van de Azure Linux-agent om de opdrachten voor de platformextensie te verwerken en de juiste status van de extensie binnen de VIRTUELE machine te garanderen.
Het Azure-platform host veel extensies die variëren van VM-configuratie, bewaking, beveiliging en hulpprogrammatoepassingen. Er is een grote keuze aan eerste en externe extensies, voorbeelden van belangrijke scenario's waarvoor extensies worden gebruikt:
- Ondersteuning voor Azure-services van de eerste partij, zoals Azure Backup, Bewaking, Schijfversleuteling, Beveiliging, Sitereplicatie en andere services.
- SSH/wachtwoord opnieuw instellen
- VM-configuratie: aangepaste scripts uitvoeren, Chef- en Puppet-agents installeren, enzovoort.
- Producten van derden, zoals AV-producten, HULPPROGRAMMA's voor VM-beveiligingsproblemen, VM- en app-bewakingsprogramma's.
- Extensies kunnen worden gebundeld met een nieuwe VM-implementatie. Ze kunnen bijvoorbeeld deel uitmaken van een grotere implementatie, toepassingen configureren bij het inrichten van vm's of worden uitgevoerd op ondersteunde door extensies beheerde systemen na de implementatie.
Extensieverwerking uitschakelen
Er zijn verschillende manieren om extensieverwerking uit te schakelen, afhankelijk van uw behoeften, maar voordat u doorgaat, moet u alle extensies verwijderen die op de VIRTUELE machine zijn geïmplementeerd, bijvoorbeeld met behulp van de Azure CLI, kunt u een lijst weergeven en verwijderen:
az vm extension delete -g MyResourceGroup --vm-name MyVm -n extension_name
Notitie
Als u het bovenstaande niet doet, probeert het platform de extensieconfiguratie en time-out na 40 minuten te verzenden.
Uitschakelen op het besturingsvlak
Als u niet zeker weet of u in de toekomst extensies nodig hebt, kunt u de Linux-agent op de VIRTUELE machine laten installeren en de mogelijkheid voor extensieverwerking uitschakelen vanaf het platform. Deze optie is beschikbaar in Microsoft.Compute
api-versie 2018-06-01
of hoger en heeft geen afhankelijkheid van de Versie van de Linux-agent geïnstalleerd.
az vm update -g <resourceGroup> -n <vmName> --set osProfile.allowExtensionOperations=false
U kunt deze extensieverwerking eenvoudig opnieuw inschakelen vanaf het platform, met de bovenstaande opdracht, maar deze instellen op 'true'.
De Linux-agent verwijderen van een actieve VM
Zorg ervoor dat u alle bestaande extensies van de VIRTUELE machine eerder hebt verwijderd, zoals hierboven is beschreven .
Stap 1: De Azure Linux-agent verwijderen
Als u alleen de Linux-agent verwijdert en niet de bijbehorende configuratieartefacten, kunt u deze op een latere datum opnieuw installeren. Voer een van de volgende, als hoofdmap, uit om de Azure Linux-agent te verwijderen:
Voor Ubuntu 18.04+
sudo apt -y remove walinuxagent
Voor Redhat 7.X, 8.X en 9.X
sudo yum -y remove WALinuxAgent
Voor SUSE 12.X, 15.X
sudo zypper --non-interactive remove python-azure-agent
Stap 2: (Optioneel) Verwijder de Artefacten van de Azure Linux-agent
Belangrijk
U kunt alle gekoppelde artefacten van de Linux-agent verwijderen, maar dit betekent dat u deze niet opnieuw kunt installeren op een latere datum. Daarom is het raadzaam om eerst de Linux-agent uit te schakelen, waarbij u de Linux-agent alleen verwijdert met behulp van het bovenstaande.
Als u weet dat u de Linux-agent nooit opnieuw installeert, kunt u het volgende uitvoeren:
Voor 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
Voor 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
Voor 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
Een installatiekopieën voorbereiden zonder de Linux-agent
Als u een installatiekopieën hebt die al cloud-init bevat en u de Linux-agent wilt verwijderen, maar nog steeds wilt inrichten met behulp van cloud-init, voert u de stappen in stap 2 (en desgewenst stap 3) uit als hoofdmap om de Azure Linux-agent te verwijderen. Vervolgens verwijdert u de cloud-init-configuratie en in de cache opgeslagen gegevens en bereidt u de VIRTUELE machine voor om een aangepaste installatiekopieën te maken.
sudo cloud-init clean --logs --seed
De inrichting ongedaan maken en een installatiekopieën maken
De Linux-agent heeft de mogelijkheid om enkele van de bestaande metagegevens van de installatiekopieën op te schonen, met de stap 'waagent -deprovision+user', maar nadat deze is verwijderd, moet u acties zoals hieronder uitvoeren en eventuele andere gevoelige gegevens ervan verwijderen.
Alle bestaande ssh-hostsleutels verwijderen
sudo rm /etc/ssh/ssh_host_*key*
Het beheerdersaccount verwijderen
sudo touch /var/run/utmp sudo userdel -f -r <admin_user_account>
Het hoofdwachtwoord verwijderen
sudo passwd -d root
Zodra u het bovenstaande hebt voltooid, kunt u de aangepaste installatiekopieën maken met behulp van de Azure CLI.
Een gewone beheerde installatiekopieën maken
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>
Een installatiekopieënversie maken in een 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
Een VIRTUELE machine maken op basis van een installatiekopieën die geen Linux-agent bevat
Wanneer u de VM maakt op basis van de installatiekopieën zonder Linux-agent, moet u ervoor zorgen dat de configuratie van de VM-implementatie aangeeft dat extensies niet worden ondersteund op deze VM.
Notitie
Als u het bovenstaande niet doet, probeert het platform de extensieconfiguratie en time-out na 40 minuten te verzenden.
Als u de VM wilt implementeren met uitgeschakelde extensies, kunt u de Azure CLI gebruiken met --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
U kunt dit ook doen met behulp van ARM-sjablonen (Azure Resource Manager), door deze in te stellen "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')]"
Volgende stappen
Zie Provisioning Linux voor meer informatie.