Lägga till Linux-avbildningar på Azure Stack Hub Marketplace

Varning

Den här artikeln refererar till CentOS, en Linux-distribution som närmar sig EOL-status (End Of Life). Överväg att använda och planera i enlighet med detta. Mer information finns i vägledningen för CentOS End Of Life.

Du kan distribuera virtuella Linux-datorer på Azure Stack Hub genom att lägga till en Linux-baserad avbildning på Azure Stack Hub Marketplace. Det enklaste sättet att lägga till en Linux-avbildning i Azure Stack Hub är via marketplace-hantering. Dessa avbildningar har förberetts och testats för kompatibilitet med Azure Stack Hub.

Marketplace-hantering

Information om hur du laddar ned Linux-avbildningar från Azure Marketplace finns i Ladda ned marketplace-objekt från Azure till Azure Stack Hub. Välj de Linux-avbildningar som du vill erbjuda användare på din Azure Stack Hub.

Det finns frekventa uppdateringar av dessa avbildningar, så kom tillbaka ofta för att hålla dig uppdaterad.

Förbereda din egen avbildning

Ladda ned de avbildningar som är tillgängliga via Marketplace-hantering när det är möjligt. Dessa avbildningar har förberetts och testats med Azure Stack Hub.

Lägsta stödda Azure Linux-agent

För att få stöd för Azure Linux-agenten och tillägg i Azure Stack Hub måste Linux-agentversionen på den virtuella Linux-datorn (VM) vara senare än eller lika med version 2.2.10 och Azure Stack Hub måste köra en version som finns inom två versioner av den aktuella versionen. Information om Azure Stack Hub-uppdateringar finns i Viktig information om Azure Stack Hub.

Från och med juli 2020 är den lägsta versionen som stöds 2.2.41 för Linux-agenten. Om Linux-agentversionen är tidigare än version 2.2.10 måste du uppdatera den virtuella datorn med hjälp av distributionspakethanteraren och genom att aktivera automatisk uppdatering.

  • Om distributionsleverantören inte har den lägsta Linux-agentversionen på paketlagringsplatserna har systemet fortfarande stöd. Om Linux-agentversionen är senare än version 2.1.7 måste du aktivera funktionen För automatisk uppdatering av agenten. Då hämtas den senaste versionen av koden för tilläggshantering.
  • Om Linux-agentversionen är tidigare än version 2.2.10, eller om Linux-systemet inte stöds, kan vi kräva att du uppdaterar agenten innan du får support.
  • Om Linux-agentversionen är anpassad av en utgivare kan Microsoft dirigera dig till utgivaren för agentsupport eller tilläggsspecifik support på grund av anpassningen. Information om hur du uppgraderar Linux-agenten finns i Så här uppdaterar du Azure Linux-agenten på en virtuell dator.

Kontrollera linux-agentversionen

Kontrollera versionen av Linux-agenten genom att köra:

waagent --version

Om du till exempel kör det här kommandot på Ubuntu 18.04 visas utdata:

WALinuxAgent - 2.2.45
Python - 3.6.9
Goal State Agent - 2.2.48.1

Mer information om agenten finns i Vanliga frågor och svar om WALinuxAgent.

Förbereda din egen Linux-avbildning

Du kan förbereda din egen Linux-avbildning med hjälp av följande instruktioner:

Cloud-init

Du kan använda Cloud-init för att anpassa din virtuella Linux-dator. Du kan använda följande PowerShell-instruktioner.

Steg 1: Skapa en cloud-init.txt fil med din molnkonfiguration

Skapa en fil med namnet cloud-init.txt och klistra in följande molnkonfiguration:

#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

Steg 2: Referens cloud-init.txt under distributionen av virtuella Linux-datorer

Ladda upp filen till ett Azure Storage-konto, Ett Azure Stack Hub-lagringskonto eller en GitHub-lagringsplats som kan nås av din virtuella Linux-dator i Azure Stack Hub.

För närvarande stöds användning av cloud-init för VM-distribution endast på REST, PowerShell och Azure CLI och har inte ett associerat portalgränssnitt på Azure Stack Hub.

Du kan följa snabbstarten: Skapa en virtuell Linux-serverdator med hjälp av PowerShell i Azure Stack Hub för att skapa den virtuella Linux-datorn med Hjälp av PowerShell. Se till att referera cloud-init.txt till som en del av -CustomData flaggan:

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

Lägga till avbildningen på Marketplace

Följ Lägg till avbildningen på Marketplace. Kontrollera att parametern är inställd på OSTypeLinux.

När du har lagt till avbildningen på Marketplace skapas ett Marketplace-objekt och användarna kan distribuera en virtuell Linux-dator.

Nästa steg