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.
El agente de máquina virtual Linux (waagent) de Azure administra el aprovisionamiento de Linux y FreeBSD, junto con la interacción de la máquina virtual (VM) con el controlador de tejido de Azure. Además de la funcionalidad de aprovisionamiento que proporciona el agente Linux, Azure ofrece la opción de usar cloud-init para algunos sistemas operativos Linux.
Importante
Para obtener la compatibilidad más reciente con FIPS 140-3 en el agente invitado de máquina virtual y las extensiones, vaya a aka.ms/linuxagentfipssupport.
El agente de Linux proporciona la siguiente funcionalidad para las implementaciones de Azure Virtual Machines de Linux y FreeBSD. Para más información, consulte el archivo Léame de Azure Linux VM Agent en GitHub.
Nota:
Pruebe la asistencia de máquina virtual para un diagnóstico más rápido. Se recomienda ejecutar la asistencia de máquina virtual para Windows o la asistencia de máquina virtual para Linux. Estas herramientas de diagnóstico basadas en scripts le ayudan a identificar problemas comunes que afectan al agente invitado de máquina virtual de Azure y al estado general de la máquina virtual.
Si tiene problemas de rendimiento con máquinas virtuales, antes de ponerse en contacto con el soporte técnico, ejecute estas herramientas.
Aprovisionamiento de imágenes
- Crea una cuenta de usuario.
- Configura los tipos de autenticación SSH.
- Implementa claves públicas y pares de claves de Secure Shell (SSH).
- Establece el nombre de host.
- Publica el nombre de host en el sistema de nombres de dominio (DNS) de la plataforma.
- Informa de la huella digital de la clave de host SSH a la plataforma.
- Administra el disco de recursos.
- Da formato y monta el disco de recursos.
- Configura el espacio de intercambio.
Redes
- Administra las rutas para mejorar la compatibilidad con los servidores DHCP de plataforma.
- Garantiza la estabilidad del nombre de la interfaz de red.
Kernel
- Configura NUMA virtual (deshabilitado para kernel 2.6.37).
- Consume la entropía de Hyper-V para /dev/random.
- Configura los tiempos de espera SCSI para el dispositivo raíz, que puede ser remoto.
Diagnóstico
- Proporciona redirección de la consola al puerto serie.
Implementaciones de System Center Virtual Machine Manager
- Detecta y arranca el agente de Virtual Machine Manager para Linux cuando se ejecuta en un entorno de System Center Virtual Machine Manager 2012 R2.
Extensión de máquina virtual
- Inserta componentes creados por Microsoft y asociados en máquinas virtuales Linux para habilitar la automatización de software y configuración.
Puede encontrar una implementación de referencia de extensión de máquina virtual en GitHub.
Comunicación
El flujo de información de la plataforma al agente se produce a través de dos canales:
- Un DVD conectado de tiempo de arranque para las implementaciones de máquina virtual. Este DVD incluye un archivo de configuración compatible con Open Virtualization Format (OVF) que contiene toda la información de aprovisionamiento excepto los pares de claves SSH.
- Un punto de conexión TCP que expone una API de REST que se usa para obtener la configuración de la implementación y la topología.
Requisitos
Las pruebas confirman que los siguientes sistemas funcionan con el agente de máquina virtual Linux de Azure.
Nota:
Esta lista puede diferir de las Distribuciones aprobadas de Linux en Azure.
| Publicador | Distribución | x64 | ARM64 |
|---|---|---|---|
| Alma Linux Community | Alma Linux | 8.x+, 9.x+ | 8.x+, 9.x+ |
| Credativ | Debian | 10+ | 11.x+ |
| Kinvolk | Flatcar Linux | 3374.2.x+ | 3374.2.x+ |
| Microsoft | Azure Linux | 2.x | 2.x |
| Proyecto openSUSE | openSUSE | 12.3+ | No compatible |
| Oracle | Oracle Linux | 6.4+, 7.x+, 8.x+ | No compatible |
| Red Hat | Red Hat Enterprise Linux | 6.7+, 7.x+, 8.x+, 9.x+, 10.x+ | 8.6+, 9.0+, 10.x+ |
| CIQ | Rocky Linux | 9.x+ | 9.x+ |
| SUSE | SLES | 12.x+, 15.x+ | 15.x SP4+ |
| Canonical | Ubuntu (versiones LTS) | 18.04+, 20.04+, 22.04+, 24.04+ | 20.04+, 22.04+, 24.04+ |
Otros sistemas compatibles:
- El agente funciona en más sistemas que los enumerados en la documentación. Sin embargo, no se prueba ni se proporciona compatibilidad con distribuciones que no están en la lista aprobada. En concreto, FreeBSD no está aprobado. Puede probar FreeBSD 8. Si tiene problemas, puede abrir un problema en nuestro repositorio de GitHub y es posible que podamos ayudarle.
El agente de Linux depende de estos paquetes del sistema para funcionar correctamente:
- Python 2.6
- OpenSSL 1.0+
- OpenSSH 5.3+
- Utilidades del sistema de archivos: sfdisk, fdisk, mkfs, parted
- Herramientas de contraseña: chpasswd, sudo
- Herramientas de procesamiento de texto: sed, grep
- Herramientas de red: ip-route
- Compatibilidad de kernel para el montaje de sistemas de archivos UDF
Asegúrese de que su máquina virtual tiene acceso a la dirección IP 168.63.129.16. Para obtener más información, vea ¿Qué es la dirección IP 168.63.129.16?.
Instalación
El método que se admite para instalar y actualizar Azure Linux VM Agent utiliza un paquete RPM o DEB del repositorio de paquetes de su distribución. Todos los proveedores de distribución avalados integran el paquete Azure Linux VM Agent en sus imágenes y repositorios. Algunas distribuciones de Linux pueden deshabilitar la característica Actualización automática del agente de máquina virtual Linux de Azure. Algunos de los repositorios también pueden contener versiones anteriores. Es posible que las versiones anteriores tengan problemas con las extensiones modernas, por lo que se recomienda instalar la versión estable más reciente.
Debe asegurarse de que el agente de máquina virtual Linux de Azure se está actualizando correctamente. Se recomienda tener la opción AutoUpdate.Enabled=Y en el /etc/waagent.conf archivo porque comentar esa opción también da como resultado valores predeterminados. Tener AutoUpdate.Enabled=N no permite que el agente de máquina virtual Linux de Azure se actualice correctamente.
Para opciones de instalación avanzadas, como la instalación desde una fuente o en ubicaciones o prefijos personalizados, consulte Agente Linux de Microsoft Azure. Aparte de estos escenarios, no se admite ni se recomienda actualizar ni volver a instalar el agente de máquina virtual Linux de Azure desde el origen.
Opciones de línea de comandos
Marcas
-
verbose: aumenta la verbosidad del comando especificado. -
force: omite la confirmación interactiva para algunos comandos.
Comandos:
help: enumera los comandos y las marcas compatibles.deprovision: intenta limpiar el sistema y hacerlo apto para su aprovisionamiento. La operación elimina:- Todas las claves de host SSH, si
Provisioning.RegenerateSshHostKeyPairestáyen el archivo de configuración. -
Configuración
Nameserveren /etc/resolv.conf. - La contraseña raíz de /etc/shadow, si
Provisioning.DeleteRootPasswordesyen el archivo de configuración. - Concesiones del cliente de DHCP en caché.
El cliente restablece el nombre de host a
localhost.localdomain.Advertencia
El desaprovisionamiento no garantiza que se haya borrado toda información confidencial de la imagen y que sea adecuada para su redistribución.
- Todas las claves de host SSH, si
deprovision+user: realiza todo lo indicado endeprovisiony elimina la última cuenta de usuario aprovisionada (obtenida de /var/lib/waagent) y los datos asociados. Use este parámetro al desaprovisionar una imagen que se aprovisionó anteriormente en Azure para que se pueda capturar y reutilizar.version: muestra la versión de waagent.serialconsole: configura GRUB para marcar ttyS0, el primer puerto de serie, como la consola de arranque. Esta opción asegura que los registros de arranque del kernel se envíen al puerto serie y queden disponibles para su depuración.daemon: ejecuta waagent como demonio para gestionar la interacción con la plataforma. Este argumento se especifica en waagent en el script init de waagent.start: ejecuta waagent como un proceso en segundo plano.
Configuración
El archivo de configuración /etc/waagent.conf controla las acciones de waagent. Aquí se muestra un ejemplo de un archivo de configuración:
Provisioning.Enabled=y
Provisioning.DeleteRootPassword=n
Provisioning.RegenerateSshHostKeyPair=y
Provisioning.SshHostKeyPairType=rsa
Provisioning.MonitorHostName=y
Provisioning.DecodeCustomData=n
Provisioning.ExecuteCustomData=n
Provisioning.AllowResetSysUser=n
Provisioning.PasswordCryptId=6
Provisioning.PasswordCryptSaltLength=10
ResourceDisk.Format=y
ResourceDisk.Filesystem=ext4
ResourceDisk.MountPoint=/mnt/resource
ResourceDisk.MountOptions=None
ResourceDisk.EnableSwap=n
ResourceDisk.SwapSizeMB=0
LBProbeResponder=y
Logs.Verbose=n
OS.RootDeviceScsiTimeout=300
OS.OpensslPath=None
HttpProxy.Host=None
HttpProxy.Port=None
AutoUpdate.Enabled=y
Las opciones de configuración son de tres tipos: Boolean, String o Integer. Puedes especificar las opciones de configuración Boolean como y o n. La palabra clave especial None se puede usar para algunas entradas de la configuración tipo cadena.
Provisioning.Enabled
Type: Boolean
Default: y
Esta opción permite que el usuario habilite o deshabilite la funcionalidad de aprovisionamiento en el agente. Los valores válidos son y y n. Si se deshabilita el aprovisionamiento, se mantiene el host SSH y las claves de usuario en la imagen y se ignora toda configuración en la API de aprovisionamiento de Azure.
Nota:
El parámetro Provisioning.Enabledtiene un valor predeterminado de n en las imágenes Ubuntu Cloud que usan cloud-init para el aprovisionamiento.
Provisioning.DeleteRootPassword
Type: Boolean
Default: n
Si el valor es y, el agente borra la contraseña de root en el archivo /etc/shadow durante el proceso de aprovisionamiento.
Provisioning.RegenerateSshHostKeyPair
Type: Boolean
Default: y
Si el valor es y, el agente borra todos los pares de claves de host SSH de /etc/ssh/ durante el proceso de aprovisionamiento, incluidos ECDSA, DSA y RSA. El agente genera un único par de claves nuevo.
Configure el tipo de cifrado para el nuevo par de claves mediante la entrada Provisioning.SshHostKeyPairType. Algunas distribuciones vuelven a crear los pares de clave de SSH para los tipos de cifrado que faltan cuando el demonio de SSH se reinicia. Un ejemplo es después de un reinicio.
Provisioning.SshHostKeyPairType
Type: String
Default: rsa
Puede configurar esta opción a un tipo de algoritmo de encriptación que el demonio SSH soporte en la VM. Los valores admitidos normalmente son rsa, dsa y ecdsa. El archivo putty.exe en Windows no soporta ecdsa. Por lo tanto, si pretende usar putty.exe en Windows para conectarse a una implementación de Linux, use rsa o dsa.
Provisioning.MonitorHostName
Type: Boolean
Default: y
Si el valor es y, waagent monitoriza la VM Linux para un cambio de nombre de host, tal y como devuelve el comando hostname. Waagent entonces actualiza automáticamente la configuración de red en la imagen para reflejar el cambio. Para enviar el cambio de nombre a los servidores DNS, la red se reinicia en la máquina virtual. Este reinicio tiene como resultado una breve pérdida de la conectividad con Internet.
Provisioning.DecodeCustomData
Type: Boolean
Default: n
Si el valor es y, waagent descodifica CustomData de Base64.
Provisioning.ExecuteCustomData
Type: Boolean
Default: n
Si el valor es y, waagent ejecuta CustomData después del aprovisionamiento.
Provisioning.AllowResetSysUser
Type: Boolean
Default: n
Esta opción permite restablecer la contraseña del sistema del usuario. De forma predeterminada, está deshabilitada.
Provisioning.PasswordCryptId
Type: String
Default: 6
Esta opción especifica el algoritmo que utiliza crypt cuando genera un hash de contraseña. Los valores válidos son:
-
1: MD5 -
2a:Blowfish -
5: SHA-256 -
6: SHA-512
Provisioning.PasswordCryptSaltLength
Type: String
Default: 10
Esta opción especifica la longitud de la sal aleatoria utilizada en la generación del hash de la contraseña.
ResourceDisk.Format
Type: Boolean
Default: y
Si el valor es y, waagent formatea y monta el disco de recursos que la plataforma proporciona, a menos que el tipo de sistema de archivos que el usuario solicitó en ResourceDisk.Filesystem sea ntfs. El agente hace que una sola partición de Linux (id. 83) esté disponible en el disco. Esta partición no está formateada si se puede montar correctamente.
ResourceDisk.Filesystem
Type: String
Default: ext4
Esta opción especifica el tipo de sistema de archivos para el disco de recursos. Los valores admitidos varían según la distribución de Linux. Si la cadena es X, entonces mkfs.X debe estar presente en la imagen de Linux.
ResourceDisk.MountPoint
Type: String
Default: /mnt/resource
Esta opción especifica la ruta en la cual se monta el disco de recursos. El disco de recursos es un disco temporal que podría vaciarse cuando la máquina virtual se desaprovisiona.
ResourceDisk.MountOptions
Type: String
Default: None
Esta opción especifica las opciones de montaje del disco que se pasarán al comando mount -o. El valor es una lista de valores separados por comas, por ejemplo, nodev,nosuid. Para más información, consulte la página del manual de mount(8).
ResourceDisk.EnableSwap
Type: Boolean
Default: n
Si establece esta opción, el agente crea un archivo swap (/swapfile) en el disco de recursos y lo agrega al espacio swap del sistema.
ResourceDisk.SwapSizeMB
Type: Integer
Default: 0
Esta opción especifica el tamaño del archivo de intercambio en megabytes.
Logs.Verbose
Type: Boolean
Default: n
Si establece esta opción, se aumenta el nivel de detalle del registro. Waagent crea los registros en /var/log/waagent.log y usa la funcionalidad logrotate del sistema para girar los registros.
OS.EnableRDMA
Type: Boolean
Default: n
Si establece esta opción, el agente intenta instalar y luego cargar un controlador de kernel RDMA que coincida con la versión del firmware en el hardware subyacente.
OS.RootDeviceScsiTimeout
Type: Integer
Default: 300
Esta opción configura el tiempo de espera SCSI en segundos en el disco del sistema operativo y las unidades de datos. Si no se establece, se usan los valores predeterminados del sistema.
OS.OpensslPath
Type: String
Default: None
Puede usar esta opción para especificar una ruta alternativa para el binario openssl a usar para operaciones criptográficas.
HttpProxy.Host, HttpProxy.Port
Type: String
Default: None
Si establece esta opción, el agente usa este servidor proxy para acceder a Internet.
AutoUpdate.Enabled
Type: Boolean
Default: y
Habilite o deshabilite la actualización automática para el procesamiento del estado objetivo. El valor predeterminado es y.
Recogida automática de logs en el Agente Azure Linux Guest
A partir de la versión 2.7+, el Azure Linux Guest Agent tiene una función para recoger automáticamente algunos registros y subirlos. Actualmente, esta característica requiere systemd. Utiliza un nuevo segmento systemd llamado azure-walinuxagent-logcollector.slice para gestionar los recursos mientras realiza la recopilación.
El propósito es facilitar el análisis sin conexión. El agente genera un archivo .zip de algunos registros de diagnóstico antes de cargarlos en el host de la máquina virtual. Los equipos de ingeniería y los profesionales de soporte técnico pueden recuperar el archivo para investigar los problemas del propietario de la máquina virtual. Para obtener información técnica sobre los archivos que recopila el agente Azure Linux Guest, consulte el archivo azurelinuxagent/common/logcollector_manifests.py en el repositorio GitHub del agente.
Puede desactivar esta opción mediante la edición de /etc/waagent.conf. Actualice Logs.Collect a n.
Imágenes en la nube de Ubuntu
Las imágenes de nube de Ubuntu utilizan cloud-init para realizar muchas tareas de configuración que, de otro modo, gestionaría el Agente de VM de Azure Linux. Se aplican las diferencias siguientes:
Provisioning.Enabledtiene un valor predeterminadonen Ubuntu Cloud Images que utilizan cloud-init para realizar tareas de aprovisionamiento.Los parámetros de configuración siguientes no tienen ningún efecto en Ubuntu Cloud Images que usan cloud-init para administrar el disco de recursos y el espacio de intercambio:
ResourceDisk.FormatResourceDisk.FilesystemResourceDisk.MountPointResourceDisk.EnableSwapResourceDisk.SwapSizeMB
Para configurar el punto de montaje del disco de recursos y el espacio de intercambio en las Imágenes en la Nube de Ubuntu durante el aprovisionamiento, consulte los siguientes recursos: