Hinzufügen von Linux-Images zum Azure Stack Hub-Marketplace

Achtung

Dieser Artikel bezieht sich auf CentOS, eine Linux-Distribution, die sich dem Ende des Lebenszyklus (EOL) status nähert. Bitte berücksichtigen Sie Ihre Nutzung und Ihren Plan entsprechend. Weitere Informationen finden Sie in der Anleitung zum Ende des Lebenszyklus von CentOS.

Sie können virtuelle Linux-Computer in Azure Stack bereitstellen, indem Sie ein Linux-basiertes Image zum Azure Stack Hub-Marketplace hinzufügen. Am einfachsten wird ein Linux-Image über die Marketplace-Verwaltung zu Azure Stack Hub hinzugefügt. Diese Images wurden vorbereitet und auf Kompatibilität mit Azure Stack Hub getestet.

Marketplace-Verwaltung

Informationen zum Herunterladen von Linux-Images aus dem Azure Marketplace finden Sie unter Herunterladen von Marketplace-Elementen von Azure in Azure Stack Hub. Wählen Sie die Linux-Images aus, die Sie Benutzern in Azure Stack Hub zur Verfügung stellen möchten.

Diese Images werden regelmäßig aktualisiert. Überprüfen Sie sie daher regelmäßig, um auf dem neuesten Stand zu bleiben.

Vorbereiten eines eigenen Image

Laden Sie nach Möglichkeit die Images herunter, die über die Marketplace-Verwaltung verfügbar sind. Diese Images wurden mit Azure Stack Hub vorbereitet und getestet.

Unterstützte Mindestversion des Azure Linux-Agents

Wenn Sie Support für den Azure Linux-Agent und Erweiterungen in Azure Stack Hub benötigen, muss auf dem virtuellen Linux-Computer mindestens Version 2.2.10 des Linux-Agents installiert sein, und der ausgeführte Azure Stack Hub-Build darf maximal zwei Releases vom aktuellen Release abweichen. Informationen zu Azure Stack Hub-Updates finden Sie unter Azure Stack Hub: Versionshinweise.

Ab Juli 2020 ist Version 2.2.41 die unterstützte Mindestversion für den Linux-Agent. Wenn die Linux-Agent-Version älter als Version 2.2.10 ist, müssen Sie den virtuellen Computer mithilfe des Paket-Managers der Distribution und durch Aktivieren der automatischen Aktualisierung aktualisieren.

  • Wenn der Distributionsanbieter nicht über die Linux-Agent-Mindestversion in den Paketrepositorys verfügt, wird das System weiterhin unterstützt. Bei einer höheren Linux-Agent-Version als Version 2.1.7 müssen Sie das Feature für die automatische Aktualisierung des Agents aktivieren. Es ruft die neueste Codeversion für die Behandlung von Erweiterungen ab.
  • Wenn die Linux-Agent-Version älter als Version 2.2.10 ist oder das Linux-System nicht mehr unterstützt wird, müssen Sie den Agent möglicherweise aktualisieren, bevor Sie Support erhalten.
  • Wenn die Linux-Agent-Version von einem Herausgeber angepasst wird, leitet Microsoft Sie aufgrund der Anpassung möglicherweise an den Herausgeber weiter, um Unterstützung für den Agent oder erweiterungsspezifische Unterstützung zu erhalten. Informationen zum Aktualisieren des Linux-Agents finden Sie unter Vorgehensweise zum Aktualisieren des Azure Linux-Agents auf einer VM.

Überprüfen der Linux-Agent-Version

Führen Sie zum Überprüfen der Linux-Agent-Version Folgendes aus:

waagent --version

Wenn Sie diesen Befehl unter Ubuntu 18.04 ausführen, wird beispielsweise folgende Ausgabe angezeigt:

WALinuxAgent - 2.2.45
Python - 3.6.9
Goal State Agent - 2.2.48.1

Weitere Informationen zum Agent finden Sie in den häufig gestellten Fragen zu WALinuxAgent.

Vorbereiten eines eigenen Linux-Images

Sie können Ihr eigenes Linux-Image gemäß den folgenden Anweisungen vorbereiten:

cloud-init

Sie können cloud-init zum Anpassen Ihres virtuellen Linux-Computers und die folgenden PowerShell-Anweisungen verwenden:

Schritt 1: Erstellen der Datei „cloud-init.txt“ mit Ihrer cloud-config-Datei

Erstellen Sie eine Datei namens „cloud-init.txt“, und fügen Sie die folgende Cloudkonfiguration ein.

#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

Schritt 2: Verweisen auf „cloud-init.txt“ während der Linux-VM-Bereitstellung

Laden Sie die Datei in ein Azure Storage-Konto, ein Azure Stack Hub-Speicherkonto oder ein GitHub-Repository hoch, das von Ihrer Azure Stack Hub-Linux-VM erreichbar ist.

Derzeit wird die Verwendung von „cloud-init“ für die VM-Bereitstellung nur für REST, PowerShell und die Azure CLI unterstützt. Eine entsprechende Portalbenutzeroberfläche in Azure Stack Hub ist nicht vorhanden.

Informationen zum Erstellen des virtuellen Linux-Computers mithilfe von PowerShell finden Sie unter Schnellstart: Erstellen eines virtuellen Linux-Servers mit PowerShell in Azure Stack Hub. Achten Sie darauf, auf cloud-init.txt als Teil des Flags -CustomData zu verweisen.

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

Hinzufügen Ihres Images zum Marketplace

Gehen Sie wie unter Verfügbarmachen eines VM-Images in Azure Stack beschrieben vor. Stellen Sie sicher, dass der OSType-Parameter auf Linux festgelegt ist.

Nachdem Sie das Image zum Marketplace hinzugefügt haben, wird ein Marketplace-Element erstellt, und Benutzer können einen virtuellen Linux-Computer bereitstellen.

Nächste Schritte