Aggiungere immagini Linux al Marketplace dell'hub di Azure Stack

Attenzione

Questo articolo fa riferimento a CentOS, una distribuzione Linux che si avvicina allo stato end of life (EOL). Prendere in considerazione l'uso e il piano di conseguenza. Per altre informazioni, vedere le linee guida per la fine della vita di CentOS.

È possibile distribuire macchine virtuali Linux nell'hub di Azure Stack aggiungendo un'immagine basata su Linux al Marketplace dell'hub di Azure Stack. Il modo più semplice per aggiungere un'immagine Linux all'hub di Azure Stack consiste nell'usare la gestione del marketplace. Queste immagini sono state preparate e testate per la compatibilità con l'hub di Azure Stack.

Gestione del Marketplace

Per scaricare immagini Linux da Azure Marketplace, vedere Scaricare elementi del marketplace da Azure all'hub di Azure Stack. Selezionare le immagini Linux da offrire agli utenti nell'hub di Azure Stack.

Sono presenti aggiornamenti frequenti per queste immagini, quindi controllare spesso per rimanere aggiornati.

Preparare un'immagine personalizzata

Se possibile, scaricare le immagini disponibili tramite la gestione del marketplace. Queste immagini sono state preparate e testate con l'hub di Azure Stack.

Agente Linux di Azure minimo supportato

Per ottenere supporto per l'agente Linux di Azure e le estensioni nell'hub di Azure Stack, la versione dell'agente Linux nella macchina virtuale Linux deve essere successiva o uguale alla versione 2.2.10 e l'hub di Azure Stack deve eseguire una compilazione che si trova in due versioni della versione corrente. Per informazioni sugli aggiornamenti dell'hub di Azure Stack, vedere Le note sulla versione dell'hub di Azure Stack.

A partire da luglio 2020, la versione minima supportata è 2.2.41 per l'agente Linux. Se la versione dell'agente Linux è precedente alla versione 2.2.10, è necessario aggiornare la macchina virtuale usando gestione pacchetti di distribuzione e abilitando l'aggiornamento automatico.

  • Se il fornitore della distribuzione non ha la versione minima dell'agente Linux nei repository dei pacchetti, il sistema è comunque supportato. Se la versione dell'agente Linux è successiva alla versione 2.1.7, è necessario abilitare la funzionalità di aggiornamento automatico dell'agente. In questo modo verrà recuperata la versione più recente del codice per la gestione delle estensioni.
  • Se la versione dell'agente Linux è precedente alla versione 2.2.10 o se il sistema Linux non è supportato, potrebbe essere necessario aggiornare l'agente prima di ottenere supporto.
  • Se la versione dell'agente Linux è personalizzata da un editore, Microsoft può indirizzare l'utente all'editore per il supporto dell'agente o il supporto specifico dell'estensione a causa della personalizzazione. Per aggiornare l'agente Linux, vedere Come aggiornare l'agente Linux di Azure in una macchina virtuale.

Controllare la versione dell'agente Linux

Per controllare la versione dell'agente Linux, eseguire:

waagent --version

Ad esempio, se si esegue questo comando in Ubuntu 18.04, verrà visualizzato l'output:

WALinuxAgent - 2.2.45
Python - 3.6.9
Goal State Agent - 2.2.48.1

Per altre informazioni sull'agente, vedere le domande frequenti per WALinuxAgent.

Preparare un'immagine Linux personalizzata

È possibile preparare un'immagine Linux personalizzata seguendo le istruzioni seguenti:

cloud-init

È possibile usare Cloud-init per personalizzare la macchina virtuale Linux, è possibile usare le istruzioni di PowerShell seguenti.

Passaggio 1: Creare un file di cloud-init.txt con la configurazione cloud

Creare un file denominato cloud-init.txt e incollare la configurazione cloud seguente:

#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

Passaggio 2: Riferimento cloud-init.txt durante la distribuzione di macchine virtuali Linux

Caricare il file in un account di archiviazione di Azure, in un account di archiviazione dell'hub di Azure Stack o in un repository GitHub raggiungibile dalla macchina virtuale Linux dell'hub di Azure Stack.

Attualmente, l'uso di cloud-init per la distribuzione di macchine virtuali è supportato solo in REST, PowerShell e nell'interfaccia della riga di comando di Azure e non ha un'interfaccia utente del portale associata nell'hub di Azure Stack.

È possibile seguire la guida introduttiva: Creare una macchina virtuale server Linux usando PowerShell nell'hub di Azure Stack per creare la macchina virtuale Linux con PowerShell. Assicurarsi di fare riferimento cloud-init.txt a come parte del -CustomData flag:

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

Aggiungere l'immagine al Marketplace

Seguire Aggiungi l'immagine al Marketplace. Assicurarsi che il OSType parametro sia impostato su Linux.

Dopo aver aggiunto l'immagine al Marketplace, viene creato un elemento del Marketplace e gli utenti possono distribuire una macchina virtuale Linux.

Passaggi successivi