Uruchamianie usługi Azure IoT Edge w systemie Ubuntu Virtual Machines
Dotyczy ikony:
IoT Edge 1.1 Inne wersje: IoT Edge 1.2, IoT Edge 1.3
Dotyczy znacznika wyboru:
IoT Edge 1.2
Inne wersje:IoT Edge 1.1
Środowisko uruchomieniowe usługi Azure IoT Edge przekształca urządzenie w urządzenie IoT Edge. Środowisko uruchomieniowe można wdrożyć na urządzeniach tak małe, jak Raspberry Pi lub tak duże, 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 o tym, jak działa środowisko uruchomieniowe IoT Edge i jakie składniki są zawarte, 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 18.04 LTS z zainstalowanym i skonfigurowanym środowiskiem uruchomieniowym usługi Azure IoT Edge przy użyciu wstępnie dostarczonych parametrów połączenia urządzenia. Wdrożenie odbywa się przy użyciu opartego na chmurzeszablonu usługi Azure Resource Manager przechowywanego w repozytorium projektu iotedge-vm-deploy.
W tym artykule wymieniono kroki wdrażania maszyny wirtualnej z systemem Ubuntu 20.04 LTS z zainstalowanym środowiskiem uruchomieniowym usługi Azure IoT Edge i skonfigurowanym przy użyciu wstępnie dostarczonych parametrów połączenia urządzenia. Wdrożenie odbywa się przy użyciu opartego na chmurzeszablonu 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ż podane parametry połączenia przed uruchomieniem środowiska uruchomieniowego, co umożliwia łatwe konfigurowanie i łączenie urządzenia 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żymy maszynę wirtualną z systemem Linux z obsługą usługi Azure IoT Edge przy użyciu szablonu usługi Azure Resource Manager iotedge-vm-deploy. Aby rozpocząć, kliknij poniższy 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 jest używana do prefiksu nazwy hosta maszyny wirtualnej. nazwa użytkownika Administracja Nazwa użytkownika, która będzie dostarczać uprawnienia główne podczas wdrażania. Parametry połączenia urządzenia Parametry połączenia urządzenia, które zostało utworzone w ramach zamierzonego IoT Hub. Rozmiar maszyny wirtualnej Rozmiar maszyny wirtualnej do wdrożenia. Wersja systemu operacyjnego Ubuntu Wersja systemu operacyjnego Ubuntu do zainstalowania na podstawowej maszynie wirtualnej. Typ uwierzytelniania Wybierz pozycję sshPublicKey lub hasło w zależności od preferencji. Administracja hasło lub klucz Wartość klucza publicznego SSH lub wartość hasła w zależności od wyboru typu uwierzytelniania. Po wypełnieniu wszystkich pól kliknij przycisk u dołu, aby przejść do
Next : Review + createmiejsca, w którym można przejrzeć warunki, a następnie kliknij przycisk Utwórz , aby rozpocząć wdrażanie.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.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-iotNastępnie, jeśli używasz interfejsu wiersza polecenia platformy Azure na pulpicie, zacznij od zalogowania się:
az loginJeśli masz wiele subskrypcji, wybierz subskrypcję, której chcesz użyć:
Wyświetl listę swoich subskrypcji:
az account list --output tableSkopiuj 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 westus2Utwórz nową maszynę wirtualną:
Aby użyć wartości authenticationType elementu
password, zobacz poniższy przykład:az deployment group create \ --resource-group IoTEdgeResources \ --template-uri "https://aka.ms/iotedge-vm-deploy" \ --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ę za pomocą klucza SSH, możesz to zrobić, określając wartość authenticationType wartości
sshPublicKey, a następnie podaj wartość klucza SSH w parametrze adminPasswordOrKey . Przykład przedstawiono poniżej.#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://aka.ms/iotedge-vm-deploy" \ --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)"Aby użyć wartości authenticationType elementu
password, zobacz poniższy przykład:az deployment group create \ --resource-group IoTEdgeResources \ --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/1.3/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ę za pomocą klucza SSH, możesz to zrobić, określając wartość authenticationType wartości
sshPublicKey, a następnie podaj wartość klucza SSH w parametrze adminPasswordOrKey . Przykład przedstawiono poniżej.#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/1.3/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 outputs 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 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 IoT Edge urządzenie aprowidowane przy użyciu zainstalowanego środowiska uruchomieniowego, możesz wdrożyć moduły IoT Edge.
Jeśli masz problemy z prawidłowym instalowaniem środowiska uruchomieniowego IoT Edge, zapoznaj się ze stroną rozwiązywania problemów.
Aby zaktualizować istniejącą instalację do najnowszej wersji IoT Edge, zobacz Aktualizowanie demona zabezpieczeń i środowiska uruchomieniowego IoT Edge.
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


