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 Azure Marketplace, zobacz Pobieranie elementów z Azure Marketplace 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, Agent systemu Linux w wersji na maszynie wirtualnej z systemem Linux musi być późniejsza 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 uwagi do wydania 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 minimalnej wersji agenta systemu Linux w repozytoriach pakietów, system jest nadal w obsłudze. 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 jest dostosowywana przez wydawcę, firma Microsoft może skierować Cię do wydawcy w celu uzyskania pomocy technicznej lub obsługi specyficznej dla rozszerzenia z powodu dostosowania. 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 FAQ for WALinuxAgent.

Przygotowywanie własnego obrazu systemu Linux

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

Cloud-init

Aby dostosować maszynę wirtualną z systemem Linux, możesz użyć Cloud-init, 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: Odwołaj się do 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.

Aby utworzyć maszynę wirtualną z systemem Linux przy użyciu programu PowerShell w usłudze Azure Stack Hub , możesz wykonać czynności opisane w przewodniku Szybki start: tworzenie maszyny wirtualnej z systemem Linux przy użyciu programu PowerShell. Pamiętaj, aby odwołać się do cloud-init.txt w ramach 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

Dodaj obraz do Marketplace, postępując zgodnie z . Upewnij się, że parametr OSType jest ustawiony na wartość Linux.

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