Udostępnij za pośrednictwem


Samouczek: aktualizacja urządzenia dla usługi Azure IoT Hub przy użyciu agenta pakietów w systemie Ubuntu Server 22.04 x64

Usługa Device Update dla usługi Azure IoT Hub obsługuje aktualizacje oparte na obrazach, oparte na pakietach i oparte na skryptach.

Aktualizacje oparte na pakietach są aktualizacjami docelowymi, które zmieniają tylko określony składnik lub aplikację na urządzeniu. Prowadzą one do mniejszego zużycia przepustowości i pomagają skrócić czas pobierania i instalowania aktualizacji. Aktualizacje oparte na pakietach zwykle pozwalają również na mniejsze przestoje urządzeń podczas stosowania aktualizacji i uniknąć narzutów związanych z tworzeniem obrazów. Używają manifestu APT, który dostarcza agentowi usługi Device Update informacje potrzebne do pobrania i zainstalowania pakietów określonych w pliku manifestu APT (i ich zależności) z wyznaczonego repozytorium.

Ten samouczek przeprowadzi Cię przez proces aktualizowania usługi Azure IoT Edge w systemie Ubuntu Server 22.04 x64 przy użyciu agenta pakietu Device Update. Mimo że samouczek przedstawia instalowanie usługi Microsoft Defender dla IoT, wykonując podobne kroki, można zaktualizować inne pakiety, takie jak sama usługa IoT Edge lub używany aparat kontenera.

Narzędzia i pojęcia w tym samouczku nadal mają zastosowanie, nawet jeśli planujesz użyć innej konfiguracji platformy systemu operacyjnego. Zakończ to wprowadzenie do kompleksowego procesu aktualizacji. Następnie wybierz preferowaną formę aktualizowania platformy systemu operacyjnego, aby uzyskać szczegółowe informacje.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Pobierz i zainstaluj agenta usługi Device Update oraz jego zależności.
  • Dodaj tag do urządzenia.
  • Zaimportuj aktualizację.
  • Wdrażanie aktualizacji pakietu.
  • Monitorowanie wdrożenia aktualizacji.

Wymagania wstępne

  • Jeśli jeszcze tego nie zrobiono, utwórz konto i wystąpienie usługi Device Update. Konfigurowanie centrum IoT Hub.

  • Potrzebujesz parametry połączenia dla urządzenia usługi IoT Edge.

  • Jeśli do wcześniejszego testowania użyto samouczka dotyczącego agenta symulatora, uruchom następujące polecenie, aby wywołać procedurę obsługi apt i wdrożyć aktualizacje pakietów over-the-air w tym samouczku:

    sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/apt:1'
    

Przygotowywanie urządzenia

Użyj przycisku Wdróż na platformie Azure

Dla wygody ten samouczek korzysta z opartego na chmurze szablonu usługi Azure Resource Manager, który ułatwia szybkie konfigurowanie maszyny wirtualnej z systemem Ubuntu 22.04 LTS (maszyna wirtualna). Instaluje zarówno środowisko uruchomieniowe usługi Azure IoT Edge, jak i agenta pakietu Device Update. Następnie automatycznie konfiguruje urządzenie z informacjami o aprowizacji przy użyciu parametry połączenia urządzenia dla dostarczanego urządzenia usługi IoT Edge (wymagania wstępne). Szablon usługi Resource Manager pozwala również uniknąć konieczności uruchomienia sesji SSH w celu ukończenia konfiguracji.

  1. Aby rozpocząć, wybierz przycisk:

    Zrzut ekranu przedstawiający przycisk Wdróż na platformie Azure dla polecenia iotedge-vm-deploy.

  2. Wypełnij dostępne pola tekstowe:

    • 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 do wdrożenia maszyny wirtualnej. Ta wartość jest domyślnie ustawiona na lokalizację wybranej grupy zasobów.
    • Prefiks etykiety DNS: wymagana wartość wybranej wartości używanej do prefiksu nazwy hosta maszyny wirtualnej.
    • Nazwa użytkownika administratora: nazwa użytkownika, która jest udostępniana 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.
    • Rozmiar maszyny wirtualnej: rozmiar maszyny wirtualnej do wdrożenia.
    • Wersja systemu operacyjnego Ubuntu: wersja systemu operacyjnego Ubuntu, która ma zostać zainstalowana na podstawowej maszynie wirtualnej. Pozostaw wartość domyślną bez zmian, ponieważ jest już ustawiona na Ubuntu 22.04-LTS.
    • Typ uwierzytelniania: wybierz wartość sshPublicKey lub hasło na podstawie preferencji.
    • Hasło administratora lub klucz: wartość klucza publicznego SSH lub wartość hasła na podstawie wyboru typu uwierzytelniania.

    Po wypełnieniu wszystkich pól zaznacz pole wyboru w dolnej części strony, aby zaakceptować warunki. Wybierz pozycję Kup , aby rozpocząć wdrażanie.

  3. Sprawdź, czy wdrożenie zostało ukończone pomyślnie. Poczekaj kilka minut po zakończeniu wdrażania po zakończeniu instalacji i konfiguracji, aby zakończyć instalowanie usługi IoT Edge i agenta aktualizacji pakietów urządzeń.

    Zasób maszyny wirtualnej powinien zostać wdrożony w wybranej grupie zasobów. Zanotuj nazwę maszyny w formacie vm-0000000000000. Zwróć również uwagę na skojarzona nazwa DNS, która jest w formacie <dnsLabelPrefix>.<location>. cloudapp.azure.com.

    Nazwę DNS można uzyskać w sekcji Przegląd nowo wdrożonej maszyny wirtualnej w witrynie Azure Portal.

    Zrzut ekranu przedstawiający nazwę DNS maszyny wirtualnej iotedge.

    Napiwek

    Aby połączyć się z tą maszyną wirtualną po skonfigurowaniu za pomocą protokołu SSH, użyj skojarzonej nazwy DNS z następującym poleceniem: ssh <adminUsername>@<DNS_Name>.

  4. Zainstaluj agenta aktualizacji urządzenia na maszynie wirtualnej.

    sudo apt-get install deviceupdate-agent
    
  5. Otwórz szczegóły konfiguracji (zobacz, jak skonfigurować plik konfiguracji tutaj , za pomocą poniższego polecenia. Ustaw parametr connectionType jako "AIS" i connectionData jako puste parametry. Należy pamiętać, że należy ustawić wszystkie wartości z tagiem "Umieść tutaj". Zobacz Konfigurowanie agenta usługi Device Update.

    sudo nano /etc/adu/du-config.json
    
  6. Uruchom ponownie agenta usługi Device Update.

    sudo systemctl restart deviceupdate-agent
    

Aktualizacja urządzenia dla pakietów oprogramowania usługi Azure IoT Hub podlega następującym postanowieniom licencyjnym:

Przeczytaj postanowienia licencyjne przed użyciem pakietu. Instalacja i użycie pakietu stanowi akceptację niniejszych warunków. Jeśli nie zgadzasz się z postanowieniami licencyjnymi, nie używaj tego pakietu.

Dodawanie tagu do urządzenia

  1. Zaloguj się do witryny Azure Portal i przejdź do centrum IoT Hub.

  2. W okienku po lewej stronie w obszarze Urządzenia znajdź urządzenie usługi IoT Edge i przejdź do bliźniaczej reprezentacji urządzenia lub bliźniaczej reprezentacji modułu.

  3. W bliźniaczej reprezentacji modułu agenta usługi Device Update usuń wszystkie istniejące wartości tagów usługi Device Update, ustawiając je na wartość null. Jeśli używasz tożsamości urządzenia z agentem usługi Device Update, wprowadź te zmiany w bliźniaczej reprezentacji urządzenia.

  4. Dodaj nową wartość tagu Device Update, jak pokazano poniżej:

        "tags": {
            "ADUGroup": "<CustomTagValue>"
        },
    

    Zrzut ekranu przedstawiający bliźniacze reprezentacje z informacjami o tagach.

    Ten zrzut ekranu przedstawia sekcję, w której należy dodać tag w bliźniaczej reprezentacji.

Importowanie aktualizacji

  1. Przejdź do pozycji Wydania usługi Device Update w usłudze GitHub i wybierz listę rozwijaną Zasoby . Pobierz Tutorial_IoTEdge_PackageUpdate.zip , wybierając go. Wyodrębnij zawartość folderu, aby odnaleźć przykładowy manifest APT (sample-defender-iot-apt-manifest.json) i odpowiadający mu manifest importu (sample-defender-iot--importManifest.json).

  2. Zaloguj się do witryny Azure Portal i przejdź do centrum IoT Hub przy użyciu usługi Device Update. W okienku po lewej stronie w obszarze Automatyczne Zarządzanie urządzeniami wybierz pozycję Aktualizacje.

  3. Wybierz kartę Aktualizacje .

  4. Wybierz pozycję + Importuj nową aktualizację.

  5. Wybierz pozycję + Wybierz z kontenera magazynu. Wybierz istniejące konto lub utwórz nowe konto przy użyciu konta + Storage. Następnie wybierz istniejący kontener lub utwórz nowy kontener przy użyciu polecenia + Kontener. Ten kontener służy do przygotowania plików aktualizacji do importowania.

    Uwaga

    Zalecamy użycie nowego kontenera za każdym razem, gdy importujesz aktualizację, aby uniknąć przypadkowego importowania plików z poprzednich aktualizacji. Jeśli nie używasz nowego kontenera, przed zakończeniem tego kroku usuń wszystkie pliki z istniejącego kontenera.

    Zrzut ekranu przedstawiający konto magazynu.

  6. W kontenerze wybierz pozycję Przekaż i przejdź do plików pobranych w kroku 1. Po wybraniu wszystkich plików aktualizacji wybierz pozycję Przekaż. Następnie wybierz przycisk Wybierz, aby powrócić do strony Importuj aktualizację.

    Zrzut ekranu przedstawiający wybieranie przekazanych plików.

    Ten zrzut ekranu przedstawia krok importowania. Nazwy plików mogą nie być zgodne z nazwami używanymi w przykładzie.

  7. Na stronie Importowanie aktualizacji przejrzyj pliki do zaimportowania. Następnie wybierz pozycję Importuj aktualizację , aby rozpocząć proces importowania.

    Zrzut ekranu przedstawiający rozpoczęcie procesu importowania.

  8. Rozpoczyna się proces importowania, a ekran przechodzi do sekcji Historia importu. Gdy kolumna Stan wskazuje, że importowanie zakończyło się pomyślnie, wybierz nagłówek Dostępne aktualizacje . Zaimportowana aktualizacja powinna być teraz widoczna na liście.

    Zrzut ekranu przedstawiający stan zadania.

Aby uzyskać więcej informacji na temat procesu importowania, zobacz Importowanie aktualizacji do usługi Device Update.

Wyświetlanie grup urządzeń

Usługa Device Update używa grup do organizowania urządzeń. Usługa Device Update automatycznie sortuje urządzenia w grupy na podstawie przypisanych tagów i właściwości zgodności. Każde urządzenie należy tylko do jednej grupy, ale grupy mogą mieć wiele podgrup do sortowania różnych klas urządzeń.

  1. Przejdź do karty Grupy i wdrożenia w górnej części strony.

    Zrzut ekranu przedstawiający niezgrupowane urządzenia.

  2. Wyświetl listę grup i wykres zgodności aktualizacji. Wykres zgodności aktualizacji przedstawia liczbę urządzeń w różnych stanach zgodności: w przypadku najnowszej aktualizacji, dostępne nowe aktualizacje i aktualizacje w toku. Dowiedz się więcej o zgodności aktualizacji.

    Zrzut ekranu przedstawiający widok zgodności aktualizacji.

  3. Powinna zostać wyświetlona grupa urządzeń zawierająca symulowane urządzenie skonfigurowane w tym samouczku wraz ze wszystkimi dostępnymi aktualizacjami dla urządzeń w nowej grupie. Jeśli istnieją urządzenia, które nie spełniają wymagań klasy urządzeń grupy, zostaną one wyświetlone w odpowiedniej nieprawidłowej grupie. Aby wdrożyć najlepszą dostępną aktualizację dla nowej grupy zdefiniowanej przez użytkownika z tego widoku, wybierz pozycję Wdróż obok grupy.

Aby uzyskać więcej informacji na temat tagów i grup, zobacz Zarządzanie grupami urządzeń.

Wdrażanie aktualizacji

  1. Po utworzeniu grupy powinna zostać wyświetlona nowa aktualizacja dostępna dla grupy urządzeń z linkiem do aktualizacji w obszarze Najlepsza aktualizacja. Może być konieczne odświeżenie raz.

    Aby uzyskać więcej informacji na temat zgodności, zobacz Zgodność aktualizacji urządzeń.

  2. Wybierz grupę docelową, wybierając nazwę grupy. Zostaniesz przekierowany do szczegółów grupy w obszarze Podstawowe informacje o grupie.

    Zrzut ekranu przedstawiający szczegóły grupy.

  3. Aby zainicjować wdrożenie, przejdź do karty Bieżące wdrożenie. Wybierz link wdrażania obok żądanej aktualizacji w sekcji Dostępne aktualizacje. Najlepsza dostępna aktualizacja dla danej grupy jest oznaczona wyróżnieniem Najlepsze .

    Zrzut ekranu przedstawiający wybieranie aktualizacji.

  4. Zaplanuj rozpoczęcie wdrożenia natychmiast lub w przyszłości. Następnie wybierz Utwórz.

    Napiwek

    Domyślnie data i godzina rozpoczęcia to 24 godziny od bieżącej godziny. Pamiętaj, aby wybrać inną datę i godzinę, jeśli chcesz, aby wdrożenie rozpoczęło się wcześniej.

    Zrzut ekranu przedstawiający tworzenie wdrożenia.

  5. W obszarze Szczegóły wdrożenia stan zmieni się na Aktywny. Wdrożona aktualizacja jest oznaczona elementem (wdrażanie).

    Zrzut ekranu przedstawiający wdrożenie jako Aktywne.

  6. Wyświetl wykres zgodności, aby zobaczyć, że aktualizacja jest teraz w toku.

  7. Po pomyślnym zaktualizowaniu urządzenia zobaczysz, że wykres zgodności i szczegóły wdrożenia zostaną zaktualizowane, aby odzwierciedlić to samo.

    Zrzut ekranu przedstawiający powodzenie aktualizacji.

Monitorowanie wdrożenia aktualizacji

  1. Wybierz kartę Historia wdrożenia w górnej części strony.

    Zrzut ekranu przedstawiający historię wdrażania.

  2. Wybierz link szczegóły obok utworzonego wdrożenia.

    Zrzut ekranu przedstawiający szczegóły wdrożenia.

  3. Wybierz pozycję Odśwież , aby wyświetlić najnowsze szczegóły stanu.

Ukończono pomyślnie kompleksową aktualizację pakietu przy użyciu usługi Device Update for IoT Hub na urządzeniu z systemem Ubuntu Server 22.04 x64.

Czyszczenie zasobów

Gdy konto aktualizacji urządzenia, wystąpienie i centrum IoT Hub nie będą już potrzebne, wyczyść je. Wyczyść również urządzenie usługi IoT Edge, jeśli maszyna wirtualna została utworzona za pomocą przycisku Wdróż na platformie Azure . Aby wyczyścić zasoby, przejdź do każdego zasobu i wybierz pozycję Usuń. Wyczyść wystąpienie aktualizacji urządzenia przed oczyszczeniem konta aktualizacji urządzenia.

Następne kroki