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

Przestroga

Ten artykuł odwołuje się do systemu CentOS — dystrybucji systemu Linux, która zbliża się do stanu zakończenia życia (EOL). Rozważ odpowiednie użycie i zaplanuj. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące końca życia systemu CentOS.

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 witryny Marketplace z platformy Azure do usługi Azure Stack Hub. Wybierz obrazy systemu Linux, które mają być oferowane użytkownikom w usłudze Azure Stack Hub.

Istnieją częste aktualizacje tych obrazów, dlatego często sprawdzaj je, aby być na bieżąco.

Przygotowywanie własnego obrazu

Jeśli to możliwe, pobierz obrazy dostępne za pośrednictwem zarządzania witryną Marketplace. Te obrazy zostały przygotowane i przetestowane za pomocą usługi 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, musisz 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 poza wsparciem, 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 uruchamiasz to polecenie w systemie Ubuntu 18.04, zostaną wyświetlone 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 agenta WALinuxAgent.

Przygotowywanie własnego obrazu systemu Linux

Możesz przygotować własny obraz systemu Linux, wykonując następujące instrukcje:

Cloud-init

Możesz użyć pakietu Cloud-init , aby dostosować maszynę wirtualną z systemem Linux. Możesz użyć 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 dostępnego dla maszyny wirtualnej 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 interfejsie REST, programie PowerShell i interfejsie 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