Adición de imágenes de Linux al Marketplace de Azure Stack Hub

Precaución

En este artículo se hace referencia a CentOS, una distribución de Linux que está cerca del estado Fin de vida (EOL). Tenga en cuenta su uso y plan en consecuencia. Para obtener más información, consulte la guía de fin de vida de CentOS.

Puede implementar máquinas virtuales Linux en Azure Stack Hub mediante la adición de una imagen basada en Linux a Marketplace de Azure Stack Hub. La manera más fácil de agregar una imagen de Linux a Azure Stack Hub es mediante la administración de Marketplace. Estas imágenes se han preparado y probado para que sean compatibles con Azure Stack Hub.

Administración de Marketplace

Para descargar imágenes de Linux desde Azure Marketplace, consulte Descarga de elementos de Marketplace de Azure a Azure Stack Hub. Seleccione las imágenes de Linux que quiera ofrecer a los usuarios en Azure Stack Hub.

Hay actualizaciones frecuentes de estas imágenes, por lo que se recomienda realizar comprobaciones a menudo para estar al día.

Preparación de su propia imagen

Siempre que sea posible, descargue las imágenes disponibles a través de la administración de Marketplace. Dichas imágenes se han preparado y probado con Azure Stack Hub.

Agente de Linux de Azure mínimo admitido

Para obtener compatibilidad con el agente de Linux de Azure y las extensiones de Azure Stack Hub, la versión del agente de Linux en la máquina virtual (VM) Linux debe ser posterior o igual a la versión 2.2.10 y Azure Stack Hub debe ejecutar una compilación que esté a no más de dos versiones de la versión actual. Para obtener información sobre las actualizaciones de Azure Stack Hub, consulte Notas de la versión de Azure Stack Hub.

A partir de julio de 2020, la versión mínima admitida es la 2.2.41 para el agente de Linux. Si la versión del agente de Linux es anterior a la versión 2.2.10, debe actualizar la máquina virtual mediante el administrador de paquetes de distribución y habilitando la actualización automática.

  • Si el proveedor de la distribución no tiene la versión mínima del agente de Linux en los repositorios de paquetes, el sistema sigue siendo compatible. Si la versión del agente de Linux es posterior a la versión 2.1.7, debe habilitar la característica de actualización automática del agente. Recuperará la versión más reciente del código para el control de extensiones.
  • Si la versión del agente de Linux es anterior a la versión 2.2.10, o si el sistema Linux no es compatible, es posible que sea necesario actualizar el agente antes de obtener soporte técnico.
  • Si un publicador personaliza la versión del agente de Linux, Microsoft puede dirigirlo al publicador para obtener soporte técnico específico de la extensión o el agente debido a la personalización. Para actualizar el agente de Linux, consulte Actualización del agente de Linux de Azure en una máquina virtual.

Comprobación de la versión del agente de Linux

Para comprobar la versión del agente de Linux, ejecute:

waagent --version

Por ejemplo, si ejecuta este comando en Ubuntu 18.04, verá la siguiente salida:

WALinuxAgent - 2.2.45
Python - 3.6.9
Goal State Agent - 2.2.48.1

Para más información sobre el agente, consulte Preguntas más frecuentes sobre WALinuxAgent.

Preparación de su propia imagen de Linux

Puede preparar su propia imagen de Linux mediante las siguientes instrucciones:

Cloud-Init

Puede usar Cloud-init para personalizar la máquina virtual Linux; puede usar las siguientes instrucciones de PowerShell.

Paso 1: Creación de un archivo cloud-init.txt con la configuración de la nube

Cree un archivo denominado cloud-init.txt y pegue la siguiente configuración de la nube:

#cloud-config
package_upgrade: true
packages:
  - nginx
  - nodejs
  - npm
write_files:
  - owner: www-data:www-data
    path: /etc/nginx/sites-available/default
    content: |
      server {
        listen 80;
        location / {
          proxy_pass http://localhost:3000;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection keep-alive;
          proxy_set_header Host $host;
          proxy_cache_bypass $http_upgrade;
        }
      }
  - owner: azureuser:azureuser
    path: /home/azureuser/myapp/index.js
    content: |
      var express = require('express')
      var app = express()
      var os = require('os');
      app.get('/', function (req, res) {
        res.send('Hello World from host ' + os.hostname() + '!')
      })
      app.listen(3000, function () {
        console.log('Hello world app listening on port 3000!')
      })
runcmd:
  - service nginx restart
  - cd "/home/azureuser/myapp"
  - npm init
  - npm install express -y
  - nodejs index.js

Paso 2: Referencia al archivo cloud-init.txt durante la implementación de máquinas virtuales Linux

Cargue el archivo en una cuenta de almacenamiento de Azure, una cuenta de almacenamiento de Azure Stack Hub o un repositorio de GitHub al que pueda acceder la máquina virtual Linux con Azure Stack Hub.

Actualmente, el uso de cloud-init para la implementación de máquinas virtuales solo se admite en REST, PowerShell y la CLI de Azure, y no tiene una interfaz de usuario de portal asociada en Azure Stack Hub.

Puede seguir Inicio rápido: Creación de una máquina virtual de servidor Linux mediante PowerShell en Azure Stack Hub para crear la máquina virtual Linux mediante PowerShell. Asegúrese de hacer referencia a cloud-init.txt como parte de la marca -CustomData:

$VirtualMachine =Set-AzVMOperatingSystem -VM $VirtualMachine `
  -Linux `
  -ComputerName "MainComputer" `
  -Credential $cred -CustomData "#include https://cloudinitstrg.blob.core.windows.net/strg/cloud-init.txt"

Adición de la imagen a Marketplace

Consulte Incorporación de la imagen a Marketplace. Asegúrese de que el OSType parámetro está establecido en Linux.

Después de agregar la imagen a Marketplace, se crea un elemento de Marketplace y los usuarios podrán implementar una máquina virtual Linux.

Pasos siguientes