Wdrażanie modułów usługi IoT Edge na dużą skalę przy użyciu witryny Azure Portal

Dotyczy:IoT Edge 1.4 checkmark IoT Edge 1.4

Ważne

Azure IoT Edge1.4 jest obsługiwaną wersją. Jeśli korzystasz z wcześniejszej wersji, zobacz aktualizację Azure IoT Edge.

Utwórz automatyczne wdrożenie usługi IoT Edge w witrynie Azure Portal, aby zarządzać trwającymi wdrożeniami dla wielu urządzeń jednocześnie. Wdrożenia automatyczne dla usługi IoT Edge są częścią funkcji zarządzania urządzeniami w usłudze IoT Hub. Wdrożenia to dynamiczne procesy, które umożliwiają wdrażanie wielu modułów na wielu urządzeniach, śledzenie stanu i kondycji modułów oraz wprowadzanie zmian w razie potrzeby.

Aby uzyskać więcej informacji, zobacz Omówienie automatycznych wdrożeń usługi IoT Edge dla pojedynczych urządzeń lub na dużą skalę.

Identyfikowanie urządzeń przy użyciu tagów

Przed utworzeniem wdrożenia musisz mieć możliwość określenia, które urządzenia mają mieć wpływ. Usługa Azure IoT Edge identyfikuje urządzenia przy użyciu tagów w bliźniaczej reprezentacji urządzenia. Każde urządzenie może mieć wiele tagów zdefiniowanych w dowolny sposób, co ma sens dla danego rozwiązania.

Jeśli na przykład zarządzasz kampusem inteligentnych budynków, możesz dodać lokalizację, typ pokoju i tagi środowiska do urządzenia:

"tags":{
  "location":{
    "building": "20",
    "floor": "2"
  },
  "roomtype": "conference",
  "environment": "prod"
}

Aby uzyskać więcej informacji na temat bliźniaczych reprezentacji urządzeń i tagów, zobacz Omówienie bliźniaczych reprezentacji urządzeń i korzystanie z nich w usłudze IoT Hub.

Tworzenie wdrożenia

Usługa IoT Edge udostępnia dwa różne typy wdrożeń automatycznych, których można użyć do dostosowania scenariusza. Możesz utworzyć standardowe wdrożenie, w tym moduły środowiska uruchomieniowego systemu i wszystkie dodatkowe moduły i trasy. Każde urządzenie może stosować tylko jedno wdrożenie. Możesz też utworzyć wdrożenie warstwowe, które obejmuje tylko niestandardowe moduły i trasy, a nie środowisko uruchomieniowe systemu. Wiele wdrożeń warstwowych można łączyć na urządzeniu, w oparciu o standardowe wdrożenie. Aby uzyskać więcej informacji na temat współdziałania dwóch typów wdrożeń automatycznych, zobacz Omówienie wdrożeń automatycznych usługi IoT Edge dla pojedynczych urządzeń lub na dużą skalę.

Kroki tworzenia wdrożenia i wdrożenia warstwowego są bardzo podobne. Wszelkie różnice są wywoływane w poniższych krokach.

  1. W witrynie Azure Portal przejdź do centrum IoT Hub.
  2. W menu w okienku po lewej stronie wybierz pozycję Konfiguracje i wdrożenia w obszarze Zarządzanie urządzeniami.
  3. Na górnym pasku wybierz pozycję Dodaj>wdrożenie lub Dodaj wdrożenie warstwowe.

Istnieje pięć kroków tworzenia wdrożenia. W poniższych sekcjach opisano poszczególne sekcje.

Uwaga

Kroki opisane w tym artykule odzwierciedlają najnowszą wersję schematu agenta i centrum usługi IoT Edge.

Jeśli wdrażasz na urządzeniu w wersji 1.0.9 lub starszej, zmodyfikuj Ustawienia środowiska uruchomieniowego w kroku Moduły kreatora, aby użyć schematu w wersji 1.0.

Krok 1. Nazwa i etykieta

  1. Nadaj wdrożeniu unikatową nazwę, która ma maksymalnie 128 małych liter. Unikaj spacji i następujących nieprawidłowych znaków: & ^ [ ] { } \ | " < > /.
  2. Możesz dodawać etykiety jako pary klucz-wartość, aby ułatwić śledzenie wdrożeń. Na przykład HostPlatform i Linux lub Wersja i 3.0.1.
  3. Wybierz pozycję Dalej: Moduły , aby przejść do kroku drugiego.

Krok 2. Moduły

Do wdrożenia można dodać maksymalnie 50 modułów. Jeśli tworzysz wdrożenie bez modułów, usuwa wszystkie bieżące moduły z urządzeń docelowych.

We wdrożeniach można zarządzać ustawieniami agenta usługi IoT Edge i modułów centrum usługi IoT Edge. Wybierz pozycję Środowisko uruchomieniowe Ustawienia, aby skonfigurować dwa moduły środowiska uruchomieniowego. W przypadku wdrożenia warstwowego moduły środowiska uruchomieniowego nie są uwzględniane, więc nie można ich skonfigurować.

Aby dodać kod niestandardowy jako moduł lub ręcznie dodać moduł usługi platformy Azure, wykonaj następujące kroki:

  1. W sekcji Ustawienia usługi Container Registry na stronie podaj poświadczenia umożliwiające dostęp do jakichkolwiek prywatnych rejestrów kontenerów zawierających obrazy modułów.

  2. W sekcji Moduły usługi IoT Edge na stronie wybierz pozycję Dodaj.

  3. Wybierz jeden z trzech typów modułów z menu rozwijanego:

    • Moduł usługi IoT Edge — podaj nazwę modułu i identyfikator URI obrazu kontenera. Na przykład identyfikator URI obrazu dla przykładowego modułu SimulatedTemperatureSensor to mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0. Jeśli obraz modułu jest przechowywany w prywatnym rejestrze kontenerów, dodaj poświadczenia na tej stronie, aby uzyskać dostęp do obrazu.
    • Moduł witryny Marketplace — moduły hostowane w witrynie Azure Marketplace. Niektóre moduły witryny Marketplace wymagają dodatkowej konfiguracji, dlatego przejrzyj szczegóły modułu na liście Moduły usługi IoT Edge w witrynie Azure Marketplace.
    • Moduł usługi Azure Stream Analytics — moduły generowane na podstawie obciążenia usługi Azure Stream Analytics.
  4. W razie potrzeby powtórz kroki 2 i 3, aby dodać dodatkowe moduły do wdrożenia.

Po dodaniu modułu do wdrożenia możesz wybrać jego nazwę, aby otworzyć stronę Aktualizowanie modułu usługi IoT Edge. Na tej stronie możesz edytować ustawienia modułu, zmienne środowiskowe, opcje tworzenia, kolejność uruchamiania i bliźniacze reprezentacje modułu. Jeśli moduł został dodany z witryny Marketplace, może już zawierać niektóre z tych parametrów. Aby uzyskać więcej informacji na temat dostępnych ustawień modułu, zobacz Konfiguracja modułu i zarządzanie nim.

Jeśli tworzysz wdrożenie warstwowe, możesz skonfigurować moduł, który istnieje w innych wdrożeniach przeznaczonych dla tych samych urządzeń. Aby zaktualizować bliźniacze reprezentacje modułu bez zastępowania innych wersji, otwórz kartę Bliźniaczej reprezentacji modułu Ustawienia. Utwórz nową właściwość bliźniaczej reprezentacji modułu o unikatowej nazwie dla podsekcji we żądanych właściwościach bliźniaczej reprezentacji modułu, na przykład properties.desired.settings. Jeśli zdefiniujesz właściwości tylko w properties.desired polu, zastąpi to żądane właściwości modułu zdefiniowanego we wszystkich wdrożeniach o niższym priorytcie.

Screenshot showing how to set the module twin property for layered deployment.

Aby uzyskać więcej informacji na temat konfiguracji bliźniaczej reprezentacji modułu we wdrożeniach warstwowych, zobacz Wdrażanie warstwowe.

Po skonfigurowaniu wszystkich modułów dla wdrożenia wybierz pozycję Dalej: Trasy , aby przejść do kroku trzeciego.

Krok 3. Trasy

Na karcie Trasy zdefiniujesz sposób przekazywania komunikatów między modułami a usługą IoT Hub. Komunikaty są tworzone przy użyciu par nazwa/wartość.

Na przykład trasa z trasą nazw i wartością FROM /messages/* INTO $upstream będzie przyjmować wszystkie komunikaty wyjściowe przez wszystkie moduły i wysyłać je do centrum IoT.

Parametry Priorytet i Czas wygaśnięcia to parametry opcjonalne, które można uwzględnić w definicji trasy. Parametr priorytetu umożliwia wybranie tras, które powinny mieć przetworzone komunikaty jako pierwsze lub które trasy powinny być przetwarzane ostatnio. Priorytet jest określany przez ustawienie liczby 0–9, gdzie 0 jest priorytetem. Czas wygaśnięcia parametru umożliwia zadeklarowanie, jak długo komunikaty w tej trasie powinny być przechowywane, dopóki nie zostaną przetworzone lub usunięte z kolejki.

Aby uzyskać więcej informacji na temat tworzenia tras, zobacz Deklarowanie tras.

Wybierz pozycję Dalej: Urządzenia docelowe.

Krok 4. Docelowe urządzenia

Użyj właściwości tags z urządzeń, aby określić konkretne urządzenia, które powinny otrzymać to wdrożenie.

Ponieważ wiele wdrożeń może być przeznaczonych dla tego samego urządzenia, należy nadać każdemu wdrożeniu numer priorytetu. Jeśli kiedykolwiek wystąpi konflikt, wdrożenie z najwyższym priorytetem (większe wartości wskazują wyższy priorytet) wygrywa. Jeśli dwa wdrożenia mają ten sam numer priorytetu, ten, który został utworzony ostatnio wygrywa.

Jeśli wiele wdrożeń jest przeznaczonych dla tego samego urządzenia, zostanie zastosowany tylko jeden z wyższym priorytetem. Jeśli wiele wdrożeń warstwowych jest przeznaczonych dla tego samego urządzenia, zostaną one zastosowane. Jeśli jednak jakiekolwiek właściwości są zduplikowane, na przykład jeśli istnieją dwie trasy o tej samej nazwie, to jeden z wdrożenia warstwowego wyższego priorytetu zastępuje resztę.

Każde wdrożenie warstwowe przeznaczone dla urządzenia musi mieć wyższy priorytet niż wdrożenie podstawowe w celu zastosowania.

  1. Wprowadź dodatnią liczbę całkowitą dla priorytetu wdrożenia.
  2. Wprowadź warunek docelowy, aby określić, które urządzenia będą objęte tym wdrożeniem. Warunek jest oparty na tagach bliźniaczych reprezentacji urządzenia lub zgłoszonych właściwościach bliźniaczej reprezentacji urządzenia i powinien być zgodny z formatem wyrażenia. Na przykład: tags.environment='test' lub properties.reported.devicemodel='4000x'.

Wybierz pozycję Dalej: Metryki.

Krok 5. Metryki

Metryki zawierają liczby podsumowań różnych stanów, które urządzenie może zgłaszać z powrotem w wyniku zastosowania zawartości konfiguracji.

  1. Wprowadź nazwę metryki.

  2. Wprowadź zapytanie dotyczące kryteriów metryk. Zapytanie jest oparte na zgłoszonych właściwościach bliźniaczej reprezentacji modułu usługi IoT Edge. Metryka reprezentuje liczbę wierszy zwracanych przez zapytanie.

    Przykład:

    SELECT deviceId FROM devices
      WHERE properties.reported.lastDesiredStatus.code = 200
    

Wybierz pozycję Dalej: Przejrzyj i utwórz , aby przejść do ostatniego kroku.

Krok 6. Przeglądanie i tworzenie

Przejrzyj informacje o wdrożeniu, a następnie wybierz pozycję Utwórz.

Aby monitorować wdrożenie, zobacz Monitorowanie wdrożeń usługi IoT Edge.

Uwaga

Po utworzeniu nowego wdrożenia usługi IoT Edge może upłynąć do 5 minut, aby usługa IoT Hub przetworzyła nową konfigurację i propagowała nowe żądane właściwości do urządzeń docelowych.

Modyfikowanie wdrożenia

Podczas modyfikowania wdrożenia zmiany są natychmiast replikowane do wszystkich urządzeń docelowych. Możesz zmodyfikować następujące ustawienia i funkcje dla istniejącego wdrożenia:

  • Warunki docelowe
  • Metryki niestandardowe
  • Etykiety
  • Tagi
  • Żądane właściwości

Modyfikowanie warunków docelowych, metryk niestandardowych i etykiet

  1. W centrum IoT wybierz pozycję Konfiguracje i wdrożenia z menu okienka po lewej stronie.

  2. Wybierz wdrożenie, które chcesz skonfigurować.

  3. Wybierz kartę Urządzenia docelowe. Zmień warunek docelowy na docelowe urządzenia. Można również dostosować priorytet.

    Jeśli zaktualizujesz warunek docelowy, wystąpią następujące aktualizacje:

    • Jeśli urządzenie nie spełnia starego warunku docelowego, ale spełnia nowy warunek docelowy, a to wdrożenie jest najwyższym priorytetem dla tego urządzenia, to wdrożenie jest stosowane do urządzenia.
    • Jeśli urządzenie, na którym jest obecnie uruchomione to wdrożenie, nie spełnia już warunku docelowego, odinstaluje to wdrożenie i zajmie następne wdrożenie o najwyższym priorytcie.
    • Jeśli urządzenie aktualnie uruchomione w tym wdrożeniu nie spełnia już warunku docelowego i nie spełnia warunku docelowego innych wdrożeń, na urządzeniu nie nastąpi żadna zmiana. Urządzenie kontynuuje uruchamianie bieżących modułów w bieżącym stanie, ale nie jest już zarządzane w ramach tego wdrożenia. Gdy spełnia ona warunek docelowy każdego innego wdrożenia, odinstalowuje to wdrożenie i przejmuje nowe.
  4. Wybierz kartę Metryki i kliknij przycisk Edytuj metryki . Dodaj lub zmodyfikuj metryki niestandardowe przy użyciu przykładowej składni jako przewodnika. Wybierz pozycję Zapisz.

    Screenshot showing how to edit custom metrics in a deployment.

  5. Wybierz kartę Etykiety i wprowadź żądane zmiany, a następnie wybierz pozycję Zapisz.

Usuwanie wdrożenia

Po usunięciu wdrożenia wszystkie wdrożone urządzenia przyjmują kolejne wdrożenie o najwyższym priorytcie. Jeśli urządzenia nie spełniają warunku docelowego innego wdrożenia, moduły nie zostaną usunięte po usunięciu wdrożenia.

  1. Zaloguj się do witryny Azure Portal i przejdź do usługi IoT Hub.
  2. Wybierz pozycję Konfiguracje i wdrożenia.
  3. Użyj pola wyboru, aby wybrać wdrożenie, które chcesz usunąć.
  4. Wybierz Usuń.
  5. Zostanie wyświetlony monit z informacją, że ta akcja spowoduje usunięcie tego wdrożenia i przywrócenie poprzedniego stanu dla wszystkich urządzeń. Wdrożenie o niższym priorytcie zostanie zastosowane. Jeśli żadne inne wdrożenie nie jest celem, żadne moduły nie zostaną usunięte. Jeśli chcesz usunąć wszystkie moduły z urządzenia, utwórz wdrożenie z modułami zerowymi i wdróż je na tych samych urządzeniach. Wybierz przycisk Tak, aby kontynuować.

Następne kroki

Dowiedz się więcej o wdrażaniu modułów na urządzeniach usługi IoT Edge.