Uruchamianie usługi Azure IoT Edge na maszynach wirtualnych z systemem Ubuntu
Dotyczy: IoT Edge 1.5 IoT Edge 1.4
Ważne
Obsługiwane są wersje usługi IoT Edge 1.5 LTS i IoT Edge 1.4 LTS. Usługa IoT Edge 1.4 LTS kończy się 12 listopada 2024 r. Jeśli korzystasz z wcześniejszej wersji, zobacz aktualizację Azure IoT Edge.
Środowisko uruchomieniowe usługi Azure IoT Edge zamienia urządzenie w urządzenie usługi IoT Edge. Środowisko uruchomieniowe można wdrożyć na urządzeniach tak małych jak Raspberry Pi lub tak dużych jak serwer przemysłowy. Po skonfigurowaniu urządzenia przy użyciu środowiska uruchomieniowego usługi IoT Edge można rozpocząć wdrażanie na nim logiki biznesowej z chmury.
Aby dowiedzieć się więcej na temat działania środowiska uruchomieniowego usługi IoT Edge i składników, zobacz Omówienie środowiska uruchomieniowego usługi Azure IoT Edge i jego architektury.
W tym artykule wymieniono kroki wdrażania maszyny wirtualnej z systemem Ubuntu przy użyciu zainstalowanego i skonfigurowanego środowiska uruchomieniowego usługi Azure IoT Edge przy użyciu wstępnie podanych urządzeń parametry połączenia. Wdrożenie odbywa się przy użyciu opartego na chmurze szablonu usługi Azure Resource Manager przechowywanego w repozytorium projektu iotedge-vm-deploy.
Podczas pierwszego rozruchu maszyna wirtualna instaluje najnowszą wersję środowiska uruchomieniowego usługi Azure IoT Edge za pośrednictwem pakietu cloud-init. Ustawia również dostarczone parametry połączenia przed rozpoczęciem środowiska uruchomieniowego, co umożliwia łatwe konfigurowanie i łączenie urządzenia usługi IoT Edge bez konieczności uruchamiania sesji SSH lub pulpitu zdalnego.
Wdrażanie przy użyciu przycisku Wdróż na platformie Azure
Przycisk Wdróż na platformie Azure umożliwia usprawnione wdrażanie szablonów usługi Azure Resource Manager obsługiwanych w usłudze GitHub. W tej sekcji przedstawiono użycie przycisku Wdróż na platformie Azure zawartego w repozytorium projektu iotedge-vm-deploy .
Wdrożysz maszynę wirtualną z systemem Linux z włączoną usługą Azure IoT Edge przy użyciu szablonu iotedge-vm-deploy usługi Azure Resource Manager. Aby rozpocząć, wybierz następujący przycisk:
W nowo uruchomionym oknie wypełnij dostępne pola formularza:
Pole opis Subskrypcja Aktywna subskrypcja platformy Azure do wdrożenia maszyny wirtualnej. Grupa zasobów: Istniejąca lub nowo utworzona grupa zasobów zawierająca maszynę wirtualną i skojarzone z nią zasoby. Region Region geograficzny, w którym ma zostać wdrożona maszyna wirtualna, ta wartość jest domyślnie ustawiona na lokalizację wybranej grupy zasobów. Prefiks etykiety DNS Wymagana wartość wybranej wartości służy do prefiksu nazwy hosta maszyny wirtualnej. Nazwa użytkownika administratora Nazwa użytkownika, która zapewnia uprawnienia główne we wdrożeniu. Parametry połączenia urządzenia Urządzenie parametry połączenia dla urządzenia utworzonego w ramach zamierzonego centrum IoT Hub. Rozmiar maszyny wirtualnej Rozmiar maszyny wirtualnej do wdrożenia. Wersja systemu operacyjnego Ubuntu Wersja systemu operacyjnego Ubuntu, która ma być zainstalowana na podstawowej maszynie wirtualnej. Typ uwierzytelnienia Wybierz pozycję sshPublicKey lub hasło w zależności od preferencji. Hasło lub klucz administratora Wartość klucza publicznego SSH lub wartość hasła w zależności od wybranego typu uwierzytelniania. Wybierz
Next : Review + create
, aby przejrzeć warunki, a następnie wybierz pozycję Utwórz , aby rozpocząć wdrażanie.Sprawdź, czy wdrożenie zakończyło się pomyślnie. Zasób maszyny wirtualnej jest wdrażany w wybranej grupie zasobów. Zanotuj nazwę maszyny, która powinna mieć format
vm-0000000000000
. Zanotuj również powiązaną nazwę DNS, która powinna być w formacie<dnsLabelPrefix>
.<location>
.cloudapp.azure.com.Nazwa DNS znajduje się w sekcji Przegląd nowo wdrożonej maszyny wirtualnej w witrynie Azure Portal.
Jeśli chcesz połączyć się z tą maszyną wirtualną po skonfigurowaniu za pomocą protokołu SSH, użyj skojarzonej nazwy DNS z poleceniem :
ssh <adminUsername>@<DNS_Name>
Wdrażanie z poziomu interfejsu wiersza polecenia platformy Azure
Upewnij się, że zainstalowano rozszerzenie interfejsu wiersza polecenia platformy Azure z:
az extension add --name azure-iot
Następnie, jeśli używasz interfejsu wiersza polecenia platformy Azure na pulpicie, zacznij od zalogowania się:
az login
Jeśli masz wiele subskrypcji, wybierz subskrypcję, której chcesz użyć:
Wyświetl listę swoich subskrypcji:
az account list --output table
Skopiuj pole SubscriptionID dla subskrypcji, której chcesz użyć.
Ustaw subskrypcję roboczą z skopiowanymi identyfikatorami:
az account set -s <SubscriptionId>
Utwórz nową grupę zasobów (lub określ istniejącą w następnych krokach):
az group create --name IoTEdgeResources --location westus2
Utwórz nową maszynę wirtualną:
Aby użyć wartości authenticationType klasy
password
, zobacz następujący przykład:az deployment group create \ --resource-group IoTEdgeResources \ --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \ --parameters dnsLabelPrefix='my-edge-vm1' \ --parameters adminUsername='<REPLACE_WITH_USERNAME>' \ --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \ --parameters authenticationType='password' \ --parameters adminPasswordOrKey="<REPLACE_WITH_SECRET_PASSWORD>"
Aby uwierzytelnić się przy użyciu klucza SSH, określ parametr authenticationType wartości
sshPublicKey
, a następnie podaj wartość klucza SSH w parametrze adminPasswordOrKey . Zobacz poniższy przykład:#Generate the SSH Key ssh-keygen -m PEM -t rsa -b 4096 -q -f ~/.ssh/iotedge-vm-key -N "" #Create a VM using the iotedge-vm-deploy script az deployment group create \ --resource-group IoTEdgeResources \ --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \ --parameters dnsLabelPrefix='my-edge-vm1' \ --parameters adminUsername='<REPLACE_WITH_USERNAME>' \ --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \ --parameters authenticationType='sshPublicKey' \ --parameters adminPasswordOrKey="$(< ~/.ssh/iotedge-vm-key.pub)"
Sprawdź, czy wdrożenie zakończyło się pomyślnie. Zasób maszyny wirtualnej powinien zostać wdrożony w wybranej grupie zasobów. Zanotuj nazwę maszyny, która powinna mieć format
vm-0000000000000
. Zanotuj również powiązaną nazwę DNS, która powinna być w formacie<dnsLabelPrefix>
.<location>
.cloudapp.azure.com.Nazwę DNS można uzyskać z danych wyjściowych w formacie JSON poprzedniego kroku w sekcji danych wyjściowych w ramach publicznego wpisu SSH. Wartość tego wpisu może służyć do SSH na nowo wdrożonej maszynie.
"outputs": { "public SSH": { "type": "String", "value": "ssh <adminUsername>@<DNS_Name>" } }
Nazwę DNS można również uzyskać w sekcji Przegląd nowo wdrożonej maszyny wirtualnej w witrynie Azure Portal.
Jeśli chcesz połączyć się z tą maszyną wirtualną po skonfigurowaniu za pomocą protokołu SSH, użyj skojarzonej nazwy DNS z poleceniem :
ssh <adminUsername>@<DNS_Name>
Następne kroki
Teraz, gdy masz urządzenie usługi IoT Edge aprowizowane przy użyciu zainstalowanego środowiska uruchomieniowego, możesz wdrożyć moduły usługi IoT Edge.
Jeśli masz problemy z prawidłowym instalowaniem środowiska uruchomieniowego usługi IoT Edge, zapoznaj się ze stroną rozwiązywania problemów.
Aby zaktualizować istniejącą instalację do najnowszej wersji usługi IoT Edge, zobacz Aktualizowanie demona zabezpieczeń usługi IoT Edge i środowiska uruchomieniowego.
Jeśli chcesz otworzyć porty w celu uzyskania dostępu do maszyny wirtualnej za pośrednictwem protokołu SSH lub innych połączeń przychodzących, zapoznaj się z dokumentacją usługi Azure Virtual Machines dotyczącą otwierania portów i punktów końcowych na maszynie wirtualnej z systemem Linux.