Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: ✔️ máquinas virtuales Linux ✔️ conjuntos de escalado flexibles
Antes de quitar el agente de Linux, debe comprender qué máquina virtual no podrá hacer después de quitar el agente de Linux.
Las extensiones de máquina virtual (VM) de Azure son aplicaciones pequeñas que proporcionan tareas de automatización y configuración posteriores a la implementación en máquinas virtuales de Azure, las extensiones se instalan y administran mediante el plano de control de Azure. Es el trabajo del agente linux de Azure para procesar los comandos de extensión de la plataforma y garantizar el estado correcto de la extensión dentro de la máquina virtual.
La plataforma Azure hospeda muchas extensiones que van desde aplicaciones de configuración, supervisión, seguridad y utilidad de máquinas virtuales. Hay una gran elección de extensiones de primera y de terceros, ejemplos de escenarios clave para los que se usan extensiones:
- Admite servicios de Azure de primera parte, como Azure Backup, Azure Monitor, Azure Disk Encryption, Azure Security, Azure Site Replication y otros.
- Restablecimientos de contraseñas / SSH
- Configuración de la máquina virtual: ejecución de scripts personalizados, instalación de Chef, agentes puppet, etc..
- Productos de terceros, como productos AV, herramientas de vulnerabilidades de máquina virtual, y herramientas de supervisión de máquina virtual y aplicaciones.
- Las extensiones se pueden agrupar con una nueva implementación de máquina virtual. Por ejemplo, pueden formar parte de una implementación mayor, configurar aplicaciones en el aprovisionamiento de máquinas virtuales o ejecutarse en cualquier sistema compatible operado por extensiones después de la implementación.
Deshabilitación del procesamiento de extensiones
Hay varias maneras de deshabilitar el procesamiento de extensiones, según sus necesidades, pero antes de continuar, debe quitar todas las extensiones implementadas en la máquina virtual, por ejemplo, mediante la CLI de Azure, puede enumerar y eliminar:
az vm extension delete -g MyResourceGroup --vm-name MyVm -n extension_name
Nota:
Si no hace lo anterior, la plataforma intentará enviar la configuración de la extensión y el tiempo de espera después de 40 minutos.
Deshabilitar en el plano de control
Si no está seguro de si necesitará extensiones en el futuro, puede dejar instalado el agente linux en la máquina virtual y, a continuación, deshabilitar la funcionalidad de procesamiento de extensiones desde la plataforma. Esta opción está disponible en la Microsoft.Compute versión 2018-06-01 de la API o superior y no depende de la versión del agente de Linux instalada.
az vm update -g <resourceGroup> -n <vmName> --set osProfile.allowExtensionOperations=false
Puede volver a habilitar fácilmente este procesamiento de extensión desde la plataforma, con el comando anterior, pero establézcalo en "true".
Eliminación del agente linux de una máquina virtual en ejecución
Asegúrese de haber quitado todas las extensiones existentes de la máquina virtual antes, como se ha indicado anteriormente.
Paso 1: Eliminación del agente linux de Azure
Si acaba de quitar el agente de Linux y no los artefactos de configuración asociados, puede volver a instalarlo más adelante. Ejecute una de las siguientes acciones, como raíz, para quitar el agente linux de Azure:
Paso 2: (Opcional) Elimina los artefactos del agente Linux de Azure
Importante
Puede quitar todos los artefactos asociados del agente de Linux, pero esto significará que no se puede reinstalar en una fecha posterior. Por lo tanto, se recomienda encarecidamente deshabilitar primero el agente de Linux, quitando el agente de Linux usando solo lo anterior.
Si sabe que nunca volverá a instalar el agente linux, puede ejecutar lo siguiente:
#For Ubuntu 18.04+:
sudo apt -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
Preparación de una imagen sin el agente de Linux
Si tiene una imagen que ya contiene cloud-init y quiere quitar el agente de Linux, pero sigue aprovisionado mediante cloud-init, ejecute los pasos descritos en el paso 2 (y, opcionalmente, paso 3) como raíz para quitar el agente Linux de Azure y, a continuación, lo siguiente quitará la configuración de cloud-init y los datos almacenados en caché y preparará la máquina virtual para crear una imagen personalizada.
sudo cloud-init clean --logs --seed
Desaprovisionamiento y creación de una imagen
El agente de Linux tiene la capacidad de limpiar algunos de los metadatos de imagen existentes con el comando "waagent -deprovision+user"; sin embargo, una vez que se haya eliminado, deberá realizar acciones como las siguientes y eliminar cualquier otra información confidencial de este.
Eliminación de todas las claves de host ssh existentes
sudo rm /etc/ssh/ssh_host_*key*Eliminación de la cuenta de administrador
sudo touch /var/run/utmp sudo userdel -f -r <admin_user_account>Eliminación de la contraseña raíz
sudo passwd -d root
Una vez completado lo anterior, puede crear la imagen personalizada mediante la CLI de Azure.
Creación de una imagen administrada normal
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>
Crear una versión de imagen en 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
Creación de una máquina virtual a partir de una imagen que no contiene un agente de Linux
Al crear la máquina virtual a partir de la imagen sin agente Linux, debe asegurarse de que la configuración de implementación de la máquina virtual indica que no se admiten extensiones en esta máquina virtual.
Nota:
Si no hace lo anterior, la plataforma intentará enviar la configuración de la extensión y el tiempo de espera después de 40 minutos.
Para implementar la máquina virtual con extensiones deshabilitadas, puede usar la CLI de Azure con --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
Como alternativa, puede hacerlo mediante plantillas de Azure Resource Manager (ARM), estableciendo "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')]"
Pasos siguientes
Para más información, consulte Aprovisionamiento de Linux.