Udostępnij za pośrednictwem


Dodawanie obrazów systemu Linux do witryny Azure Stack Hub Marketplace

Maszyny wirtualne z systemem Linux można wdrożyć w usłudze Azure Stack Hub, dodając obraz oparty na systemie Linux do witryny Azure Stack Hub Marketplace. Najprostszym sposobem dodania obrazu systemu Linux do usługi Azure Stack Hub jest zarządzanie witryną Marketplace. Te obrazy zostały przygotowane i przetestowane pod kątem zgodności z usługą Azure Stack Hub.

Zarządzanie witryną Marketplace

Aby pobrać obrazy systemu Linux z witryny Azure Marketplace, zobacz Pobieranie elementów witryny Marketplace z platformy Azure do usługi Azure Stack Hub. Wybierz obrazy systemu Linux, które chcesz zaoferować użytkownikom w usłudze Azure Stack Hub.

Często są dostępne aktualizacje tych obrazów, dlatego często sprawdzaj, czy są aktualne.

Przygotowywanie własnego obrazu

Wszędzie tam, gdzie to możliwe, pobierz obrazy dostępne za pośrednictwem zarządzania witryną Marketplace. Te obrazy zostały przygotowane i przetestowane w usłudze Azure Stack Hub.

Minimalna obsługiwana wersja agenta systemu Linux platformy Azure

Aby uzyskać pomoc techniczną dotyczącą agenta i rozszerzeń systemu Linux platformy Azure w usłudze Azure Stack Hub, wersja agenta systemu Linux na maszynie wirtualnej z systemem Linux musi być nowsza niż lub równa wersji 2.2.10, a usługa Azure Stack Hub musi uruchomić kompilację, która znajduje się w dwóch wersjach bieżącej wersji. Aby uzyskać informacje o aktualizacjach usługi Azure Stack Hub, zobacz Informacje o wersji usługi Azure Stack Hub.

Od lipca 2020 r. minimalna obsługiwana wersja to 2.2.41 dla agenta systemu Linux. Jeśli wersja agenta systemu Linux jest starsza niż wersja 2.2.10, musisz zaktualizować maszynę wirtualną przy użyciu menedżera pakietów dystrybucji i włączyć automatyczną aktualizację.

  • Jeśli dostawca dystrybucji nie ma w repozytoriach pakietów minimalnej wersji agenta systemu Linux, system nadal jest obsługiwany. Jeśli wersja agenta systemu Linux jest nowsza niż wersja 2.1.7, należy włączyć funkcję automatycznej aktualizacji agenta. Spowoduje to pobranie najnowszej wersji kodu na potrzeby obsługi rozszerzeń.
  • Jeśli wersja agenta systemu Linux jest starsza niż wersja 2.2.10 lub jeśli system Linux jest niedostępny, może być konieczne zaktualizowanie agenta przed uzyskaniem pomocy technicznej.
  • Jeśli wersja agenta systemu Linux została dostosowana przez wydawcę, to z powodu tego dostosowania firma Microsoft może skierować Cię do wydawcy w celu uzyskania pomocy technicznej dotyczącej agenta lub rozszerzenia. Aby uaktualnić agenta systemu Linux, zobacz Jak zaktualizować agenta systemu Linux platformy Azure na maszynie wirtualnej.

Sprawdzanie wersji agenta systemu Linux

Aby sprawdzić wersję agenta systemu Linux, uruchom polecenie:

waagent --version

Jeśli na przykład używasz tego polecenia w systemie Ubuntu 18.04, zobaczysz dane wyjściowe:

WALinuxAgent - 2.2.45
Python - 3.6.9
Goal State Agent - 2.2.48.1

Aby uzyskać więcej informacji na temat agenta, zobacz często zadawane pytania dotyczące programu WALinuxAgent.

Przygotowywanie własnego obrazu systemu Linux

Możesz przygotować własny obraz systemu Linux, korzystając z następujących instrukcji:

Cloud-init

Możesz użyć pakietu Cloud-init, aby dostosować maszynę wirtualną z systemem Linux, korzystając z poniższych instrukcji programu PowerShell.

Krok 1. Tworzenie pliku cloud-init.txt przy użyciu konfiguracji cloud-config

Utwórz plik o nazwie cloud-init.txt i wklej następującą konfigurację chmury:

#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

Krok 2. Dokumentacja cloud-init.txt podczas wdrażania maszyny wirtualnej z systemem Linux

Przekaż plik do konta magazynu platformy Azure, konta magazynu usługi Azure Stack Hub lub repozytorium GitHub osiągalne przez maszynę wirtualną z systemem Linux usługi Azure Stack Hub.

Obecnie korzystanie z pakietu cloud-init na potrzeby wdrażania maszyn wirtualnych jest obsługiwane tylko w przypadku interfejsu wiersza polecenia REST, programu PowerShell i interfejsu wiersza polecenia platformy Azure i nie ma skojarzonego interfejsu użytkownika portalu w usłudze Azure Stack Hub.

Możesz skorzystać z przewodnika Szybki start: tworzenie maszyny wirtualnej serwera z systemem Linux przy użyciu programu PowerShell w usłudze Azure Stack Hub w celu utworzenia maszyny wirtualnej z systemem Linux przy użyciu programu PowerShell. Pamiętaj, aby odwołać cloud-init.txt się do elementu jako część flagi -CustomData :

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

Dodawanie obrazu do witryny Marketplace

Postępuj zgodnie z instrukcjami Dodaj obraz do witryny Marketplace. Upewnij się, że OSType parametr jest ustawiony na Linuxwartość .

Po dodaniu obrazu do witryny Marketplace zostanie utworzony element witryny Marketplace, a użytkownicy będą mogli wdrożyć maszynę wirtualną z systemem Linux.

Następne kroki