Tutorial: Creación y administración de máquinas virtuales Linux con la CLI de Azure
Se aplica a: ✔️ máquinas virtuales Linux ✔️ conjuntos de escalado flexibles
Las máquinas virtuales de Azure proporcionan un entorno informático completamente configurable y flexible. En este tutorial se tratan elementos básicos de la implementación de máquinas virtuales de Azure, como la selección de su tamaño, la selección de una imagen de máquina virtual y la implementación de una máquina virtual. Aprenderá a:
- Crear y conectar elementos a una máquina virtual
- Seleccionar y usar imágenes de máquinas virtuales
- Ver y usar tamaños de una máquina virtual específicos
- Cambiar el tamaño de una máquina virtual
- Ver y entender el estado de las máquinas virtuales.
En este tutorial se usa la CLI dentro de Azure Cloud Shell, que se actualiza constantemente a la versión más reciente.
Si decide instalar y usar la CLI localmente, en este tutorial es preciso que ejecute la CLI de Azure de la versión 2.0.30, u otra posterior. Ejecute az --version
para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.
Creación de un grupo de recursos
Para crear un grupo de recursos, use el comando az group create.
Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure. Se debe crear un grupo de recursos antes de una máquina virtual. En este ejemplo, se crea un grupo de recursos denominado myResourceGroupVM en la región eastus2.
az group create --name myResourceGroupVM --location eastus2
Se especifica el grupo de recursos al crear o modificar una máquina virtual, como se ve a lo largo de este tutorial.
Crear máquina virtual
Cree la máquina virtual con el comando az vm create.
Al crear una máquina virtual, hay varias opciones disponibles, como la imagen del sistema operativo, el tamaño del disco y las credenciales administrativas. En el ejemplo siguiente se crea una máquina virtual denominada myVM que ejecuta SUSE Linux Enterprise Server (SLES). Se crea una cuenta de usuario denominada azureuser en la máquina virtual, y se generan claves SSH, si no existen en la ubicación de la clave predeterminada ( ~/.ssh):
az vm create \
--resource-group myResourceGroupVM \
--name myVM \
--image SuseSles15SP3 \
--public-ip-sku Standard \
--admin-username azureuser \
--generate-ssh-keys
La creación de la máquina virtual puede tardar unos minutos. Una vez creada la máquina virtual, la CLI de Azure ofrece como salida información sobre la máquina virtual. Tome nota de publicIpAddress
; una dirección que se puede usar para acceder a la máquina virtual.
{
"fqdns": "",
"id": "/subscriptions/d5b9d4b7-6fc1-0000-0000-000000000000/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
"location": "eastus2",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "52.174.34.95",
"resourceGroup": "myResourceGroupVM"
}
Conexión con una máquina virtual
Ahora puede conectarse a la máquina virtual mediante SSH en Azure Cloud Shell o desde un equipo local. Reemplace la dirección IP de ejemplo por la dirección publicIpAddress
que anotó en el paso anterior.
ssh azureuser@52.174.34.95
Una vez que inicia sesión en la máquina virtual, puede instalar y configurar las aplicaciones. Cuando haya terminado, cierre la sesión SSH como normal:
exit
Descripción de las imágenes de máquina virtual
Azure Marketplace incluye muchas imágenes que pueden usarse para crear máquinas virtuales. En los pasos anteriores, se creó una máquina virtual con una imagen de Ubuntu. En este paso, la CLI de Azure se usa para buscar en Marketplace una imagen de Ubuntu, que luego se usa para implementar una segunda máquina virtual.
Para ver una lista de las imágenes usadas con más frecuencia, use el comando az vm image list.
az vm image list --output table
La salida del comando devuelve las imágenes de máquina virtual más populares en Azure.
Architecture Offer Publisher Sku Urn UrnAlias Version
-------------- ---------------------------- ---------------------- ---------------------------------- ------------------------------------------------------------------------------ ----------------------- ---------
x64 debian-10 Debian 10 Debian:debian-10:10:latest Debian latest
x64 flatcar-container-linux-free kinvolk stable kinvolk:flatcar-container-linux-free:stable:latest Flatcar latest
x64 opensuse-leap-15-3 SUSE gen2 SUSE:opensuse-leap-15-3:gen2:latest openSUSE-Leap latest
x64 RHEL RedHat 7-LVM RedHat:RHEL:7-LVM:latest RHEL latest
x64 sles-15-sp3 SUSE gen2 SUSE:sles-15-sp3:gen2:latest SLES latest
x64 0001-com-ubuntu-server-jammy Canonical 18.04-LTS Canonical:UbuntuServer:18.04-LTS:latest UbuntuLTS latest
x64 WindowsServer MicrosoftWindowsServer 2022-Datacenter MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest Win2022Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2022-datacenter-azure-edition-core MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest Win2022AzureEditionCore latest
x64 WindowsServer MicrosoftWindowsServer 2019-Datacenter MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest Win2019Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2016-Datacenter MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest Win2016Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2012-R2-Datacenter MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest Win2012R2Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2012-Datacenter MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest Win2012Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2008-R2-SP1 MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest Win2008R2SP1 latest
Para ver una lista completa, agregue el parámetro --all
. También puede filtrar la lista de imágenes por --publisher
u –-offer
. En este ejemplo, la lista se filtra para todas las imágenes publicadas por OpenLogic, con una oferta que coincide con 0001-com-ubuntu-server-jammy.
az vm image list --offer 0001-com-ubuntu-server-jammy --publisher Canonical --all --output table
Salida parcial de ejemplo:
Architecture Offer Publisher Sku Urn Version
-------------- --------------------------------- ----------- --------------- ------------------------------------------------------------------------ ---------------
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202204200 22.04.202204200
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205060 22.04.202205060
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205280 22.04.202205280
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206040 22.04.202206040
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206090 22.04.202206090
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206160 22.04.202206160
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206220 22.04.202206220
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202207060 22.04.202207060
Nota:
Canonical ha cambiado los nombres de Oferta que se usan para las versiones más recientes. Antes de Ubuntu 20.04, el nombre de Oferta es UbuntuServer. Para Ubuntu 20.04, el nombre de Oferta es 0001-com-ubuntu-server-focal
y para Ubuntu 22.04 es 0001-com-ubuntu-server-jammy
.
Para implementar una máquina virtual mediante una imagen específica, anote el valor de la columna Urn, que consta del publicador, la oferta, la SKU y, opcionalmente, un número de versión para identificar la imagen. Al especificar la imagen, se puede reemplazar el número de versión de la imagen por latest
, para que se seleccione la versión más reciente de la distribución. En este ejemplo, el parámetro --image
se usa para especificar la versión más reciente de Ubuntu 22.04.
az vm create --resource-group myResourceGroupVM --name myVM2 --image Canonical:0001-com-ubnutu-server-jammy:22_04-lts:latest --generate-ssh-keys
Comprensión de los tamaños de máquina virtual
El tamaño de la máquina virtual determina la cantidad de recursos de proceso, como memoria, CPU y GPU, que están disponibles para la máquina virtual. Es necesario ajustar adecuadamente el tamaño de las máquinas virtuales para la carga de trabajo esperada. Si aumenta la carga de trabajo, se puede cambiar el tamaño de una máquina virtual existente.
Tamaños de máquina virtual
En la tabla siguiente se clasifican los tamaños en casos de uso.
Tipo | Descripción |
---|---|
Uso general | Uso equilibrado de CPU y memoria. Ideal para desarrollo/pruebas, así como soluciones de datos y aplicaciones de tamaño pequeño a mediano. |
Proceso optimizado | Uso elevado de la CPU respecto a la memoria. Adecuado para aplicaciones, dispositivos de red y procesos por lotes con tráfico mediano. |
Memoria optimizada | Uso elevado de memoria respecto al núcleo. Excelente para bases de datos relacionales, memorias caché de capacidad de mediana a grande y análisis en memoria. |
Almacenamiento optimizado | Alto rendimiento de disco y E/S. Perfecto para bases de datos SQL y NoSQL y macrodatos. |
GPU | Máquinas virtuales especializadas para actividades intensas de representación de gráficos y edición de vídeo. |
Alto rendimiento | Nuestras máquinas virtuales con CPU más eficaces e interfaces de red de alto rendimiento (RDMA) opcionales. |
Búsqueda de los tamaños de máquina virtual disponibles
Para ver una lista de tamaños de máquinas virtuales disponibles en una región determinada, use el comando az vm list-sizes.
az vm list-sizes --location eastus2 --output table
Salida parcial de ejemplo:
MaxDataDiskCount MemoryInMb Name NumberOfCores OsDiskSizeInMb ResourceDiskSizeInMb
------------------ ------------ ---------------------- --------------- ---------------- ----------------------
4 8192 Standard_D2ds_v4 2 1047552 76800
8 16384 Standard_D4ds_v4 4 1047552 153600
16 32768 Standard_D8ds_v4 8 1047552 307200
32 65536 Standard_D16ds_v4 16 1047552 614400
32 131072 Standard_D32ds_v4 32 1047552 1228800
32 196608 Standard_D48ds_v4 48 1047552 1843200
32 262144 Standard_D64ds_v4 64 1047552 2457600
4 8192 Standard_D2ds_v5 2 1047552 76800
8 16384 Standard_D4ds_v5 4 1047552 153600
16 32768 Standard_D8ds_v5 8 1047552 307200
32 65536 Standard_D16ds_v5 16 1047552 614400
32 131072 Standard_D32ds_v5 32 1047552 1228800
32 196608 Standard_D48ds_v5 48 1047552 1843200
32 262144 Standard_D64ds_v5 64 1047552 2457600
32 393216 Standard_D96ds_v5 96 1047552 3686400
Creación de máquinas virtuales con un tamaño específico
En el anterior ejemplo de creación de máquinas virtuales, no se proporcionó ningún tamaño, lo que conlleva el uso de un tamaño predeterminado. Se puede seleccionar un tamaño para la máquina virtual al crearla con el comando az vm create y el parámetro --size
.
az vm create \
--resource-group myResourceGroupVM \
--name myVM3 \
--image SuseSles15SP3 \
--size Standard_D2ds_v4 \
--generate-ssh-keys
Cambiar el tamaño de una máquina virtual
Una vez implementada una máquina virtual, se puede cambiar su tamaño para aumentar o disminuir la asignación de recursos. El tamaño actual de una máquina virtual se puede ver con az vm show:
az vm show --resource-group myResourceGroupVM --name myVM --query hardwareProfile.vmSize
Antes de cambiar el tamaño de una máquina virtual, compruebe si el tamaño deseado está disponible en el clúster de Azure actual. El comando az vm list-vm-resize-options devuelve la lista de tamaños.
az vm list-vm-resize-options --resource-group myResourceGroupVM --name myVM --query [].name
Si el tamaño deseado está disponible, puede cambiarlo con la máquina virtual encendida, aunque se reiniciará durante la operación. Use el comando az vm resize para realizar el cambio de tamaño.
az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_D4s_v3
Si el tamaño deseado no está en el clúster actual, se debe desasignar la máquina virtual para que se pueda llevar a cabo la operación de cambio de tamaño. Use el comando az vm deallocate para detener y desasignar la máquina virtual. Tenga en cuenta que, cuando se vuelve a encender la máquina virtual, es posible que se quiten todos los datos del disco temporal. Además, la dirección IP pública cambia a menos que se esté usando una estática.
az vm deallocate --resource-group myResourceGroupVM --name myVM
Una vez desasignada, puede realizarse el cambio de tamaño.
az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_GS1
Tras el cambio de tamaño, se puede iniciar la máquina virtual.
az vm start --resource-group myResourceGroupVM --name myVM
Estados de energía de una máquina virtual
Una máquina virtual de Azure puede tener uno de muchos estados de energía. Este estado representa el estado actual de la máquina virtual desde el punto de vista del hipervisor.
Estados de energía
Estado de energía | Descripción |
---|---|
Iniciando | Indica que se está iniciando la máquina virtual. |
En ejecución | Indica que la máquina virtual se está ejecutando. |
Deteniéndose | Indica que se está deteniendo la máquina virtual. |
Detenido | Indica que se ha detenido la máquina virtual. Las máquinas virtuales en el estado detenido siguen acumulando cargos por procesos. |
Desasignando | Indica que se está desasignando la máquina virtual. |
Desasignado | Indica que la máquina virtual se quitó del hipervisor pero sigue estando disponible en el plano de control. Las máquinas virtuales en el estado Desasignado no incurren cargos por procesos. |
- | Indica que se desconoce el estado de la máquina virtual. |
Busque el estado de energía de la máquina
Para recuperar el estado de una máquina virtual concreta, use el comando az vm get instance-view. Asegúrese de especificar un nombre válido para la máquina virtual y el grupo de recursos.
az vm get-instance-view \
--name myVM \
--resource-group myResourceGroupVM \
--query instanceView.statuses[1] --output table
Salida:
Code Level DisplayStatus
------------------ ------- ---------------
PowerState/running Info VM running
Para recuperar el estado de energía de todas las máquinas virtuales de la suscripción, use Virtual Machines - List All API con el parámetro statusOnly establecido en true.
Tareas de administración
Durante el ciclo de vida de una máquina virtual, es posible que desee ejecutar tareas de administración como iniciar, detener o eliminar una máquina virtual. Además, puede crear scripts para automatizar tareas repetitivas o complejas. Mediante la CLI de Azure, muchas tareas comunes de administración se pueden ejecutar desde la línea de comandos o en scripts.
Obtención de la dirección IP
Este comando devuelve las direcciones IP públicas y privadas de una máquina virtual.
az vm list-ip-addresses --resource-group myResourceGroupVM --name myVM --output table
Detener una máquina virtual
az vm stop --resource-group myResourceGroupVM --name myVM
Iniciar una máquina virtual
az vm start --resource-group myResourceGroupVM --name myVM
Eliminación de recursos de máquina virtual
En función de cómo se elimine una máquina virtual, solo se elimina el recurso de máquina virtual, no los recursos de redes y disco. Puede cambiar el comportamiento predeterminado para eliminar otros recursos al eliminar la máquina virtual. Para más información, vea Eliminación de una máquina virtual y recursos asociados.
Al eliminar un grupo de recursos también se eliminan todos los recursos del grupo de recursos, como la máquina virtual, la red virtual y el disco. El parámetro --no-wait
devuelve el control a la petición de confirmación sin esperar a que finalice la operación. El parámetro --yes
confirma que desea eliminar los recursos sin pedir confirmación adicional.
az group delete --name myResourceGroupVM --no-wait --yes
Pasos siguientes
En este tutorial, ha aprendido conceptos básicos sobre la creación y administración de máquinas virtuales. Por ejemplo:
- Crear y conectar elementos a una máquina virtual
- Seleccionar y usar imágenes de máquinas virtuales
- Ver y usar tamaños de una máquina virtual específicos
- Cambiar el tamaño de una máquina virtual
- Ver y entender el estado de las máquinas virtuales.
Prosiga con el siguiente tutorial para aprender sobre los discos en máquinas virtuales.