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 platformą 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 z systemu Linux z Azure Marketplace, zobacz Pobieranie elementów 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 przy użyciu usługi Azure Stack Hub.
Minimalna obsługiwana wersja agenta systemu Linux platformy Azure
Aby uzyskać pomoc techniczną dotyczącą agenta i rozszerzeń systemu Azure Linux w usłudze Azure Stack Hub, wersja agenta systemu Linux na maszynie wirtualnej z systemem Linux musi być późniejsza 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, należy 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. Pobierze najnowszą wersję kodu na potrzeby obsługi rozszerzeń.
- Jeśli wersja agenta systemu Linux jest starsza niż wersja 2.2.10 lub system Linux jest poza wsparciem, może być konieczne zaktualizowanie agenta przed uzyskaniem pomocy technicznej.
- Jeśli wersja agenta systemu Linux jest dostosowywana przez wydawcę, firma Microsoft może przekierować Cię do wydawcy w celu uzyskania pomocy technicznej lub pomocy technicznej specyficznej dla rozszerzenia ze względu na dostosowanie. 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 usługi WALinuxAgent.
Przygotowywanie własnego obrazu systemu Linux
Możesz przygotować własny obraz systemu Linux, wykonując następujące instrukcje:
- dystrybucje oparte na systemie CentOS
- Debian Linux
- Red Hat Enterprise Linux
- SLES & openSUSE
- Serwer Ubuntu
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 za pomocą 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 usługi Azure Storage, konta magazynu usługi Azure Stack Hub lub repozytorium GitHub dostępnego przez maszynę wirtualną z systemem Linux w usłudze 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.
Postępuj zgodnie z przewodnikiem 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 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 Linux
wartość .
Po dodaniu obrazu do witryny Marketplace zostanie utworzony element witryny Marketplace, a użytkownicy będą mogli wdrożyć maszynę wirtualną z systemem Linux.