Udostępnij przez


Samouczek: aktualizacja urządzenia dla usługi Azure IoT Hub przy użyciu agenta pakietów w systemie Ubuntu Server 18.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 zazwyczaj pozwalają na mniejsze przestoje urządzeń podczas stosowania aktualizacji i eliminują konieczność tworzenia 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 18.04 x64 przy użyciu agenta pakietu Device Update. Chociaż samouczek demonstruje, jak aktualizować IoT Edge, wykonując podobne kroki, można zaktualizować inne pakiety, takie jak silnik kontenerów, którego używa.

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 działania:

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

Wymagania wstępne

Przygotowywanie urządzenia

Przygotuj urządzenie automatycznie lub ręcznie.

Użyj automatycznego przycisku "Wdróż do Azure"

Dla wygody w tym samouczku użyto opartego na cloud-initszablonu Azure Resource Manager, aby ułatwić szybkie skonfigurowanie maszyny wirtualnej z systemem Ubuntu 18.04 LTS. 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 parametru połączenia urządzenia dla urządzenia IoT Edge (wymaganie 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óż do Azure dla 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órej przyznawane są uprawnienia root podczas wdrożenia.
    • Ciąg połączenia urządzenia: ciąg połączenia urządzenia 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ż zostanie ona już ustawiona na Ubuntu 18.04-LTS.
    • Typ uwierzytelniania: wybierz sshPublicKey lub hasło zgodnie z preferencjami.
    • 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 pomyślnie zakończone. Poczekaj kilka minut po zakończeniu wdrażania, aby dokończyć instalację i konfigurację IoT Edge oraz 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 skojarzoną nazwę 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 portalu Azure.

    Wskazówka

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

  4. 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.

/etc/adu/du-config.json
  1. Uruchom ponownie agenta usługi Device Update, uruchamiając następujące polecenie:
 sudo systemctl restart adu-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.

Ręczne przygotowywanie urządzenia

Podobnie jak w przypadku kroków zautomatyzowanych przez skrypt cloud-init, poniższe kroki ręczne służą do instalowania i konfigurowania urządzenia. Wykonaj następujące kroki, aby przygotować urządzenie fizyczne.

  1. Postępuj zgodnie z instrukcjami, aby zainstalować środowisko uruchomieniowe usługi Azure IoT Edge.

    Uwaga

    Agent usługi Device Update nie zależy od usługi IoT Edge. Jednak polega na demonie IoT Identity Service zainstalowanym z oprogramowaniem IoT Edge (wersja 1.2.0 i nowsze), aby uzyskać tożsamość i nawiązać połączenie z IoT Hub.

    Chociaż nie opisano w tym samouczku, demon usługi tożsamości IoT można zainstalować autonomicznie na urządzeniach IoT opartych na systemie Linux. Sekwencja instalacji ma znaczenie. Agent pakietu Device Update musi być zainstalowany po usłudze tożsamości IoT. W przeciwnym razie agent pakietu nie zostanie zarejestrowany jako autoryzowany składnik w celu nawiązania połączenia z usługą IoT Hub.

  2. Zainstaluj pakiet .deb agenta usługi Device Update:

    sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt 
    
  3. Wprowadź podstawowy ciąg połączenia modułu (lub urządzenia, w zależności od sposobu aprowizowania urządzenia za pomocą usługi Device Update) do pliku konfiguracyjnego, uruchamiając następujące polecenie:

    /etc/adu/du-config.json
    
  4. Uruchom ponownie agenta usługi Device Update, uruchamiając następujące polecenie:

     sudo systemctl restart adu-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 lewym panelu, w obszarze Urządzenia, znajdź swoje urządzenie IoT Edge i przejdź do bliźniaka urządzenia lub 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 tym bliźniaku urządzenia.

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

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

Importowanie aktualizacji

  1. Przejdź do wydania Device Update na GitHubie i wybierz listę rozwijaną Assets. Pobierz, wybierając Tutorial_IoTEdge_PackageUpdate.zip. Wyodrębnij zawartość folderu, aby odnaleźć przykładowy manifest APT (sample-1.0.2-aziot-edge-apt-manifest.json) i odpowiadający mu manifest importu (sample-1.0.2-aziot-edge-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 + Wybierz z pojemnika magazynowego. 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 magazynowe.

  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 załadowanych 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.

Dowiedz się więcej o sposobie importowania aktualizacji.

Tworzenie grupy aktualizacji

  1. Przejdź do zakładki Grupy i Wdrożenia w górnej części strony.

    Zrzut ekranu przedstawiający niezgrupowane urządzenia.

  2. Wybierz przycisk Dodaj grupę , aby utworzyć nową grupę.

    Zrzut ekranu przedstawiający dodawanie grupy urządzeń.

  3. Wybierz tag usługi IoT Hub i klasę urządzenia z listy. Następnie wybierz pozycję Utwórz grupę.

    Zrzut ekranu przedstawiający wybór tagu.

  4. Po utworzeniu grupy zobaczysz, że zaktualizowano zarówno wykres zgodności aktualizacji, jak i listę grup. 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.

  5. Twoja nowo utworzona grupa powinna być widoczna, podobnie jak wszystkie dostępne aktualizacje dla urządzeń w tej grupie. Jeśli istnieją urządzenia, które nie spełniają wymagań klasy urządzeń grupy, są one wyświetlane 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.

Dowiedz się więcej na temat dodawania tagów i tworzenia grup aktualizacji.

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 strony jeden raz. Dowiedz się więcej o zgodności aktualizacji.

  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.

    Wskazówka

    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 sekcji Szczegóły wdrożeniaStatus zmienia 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 zostały zaktualizowane w celu odzwierciedlenia tego samego.

    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ślną kompleksową aktualizację pakietu przy użyciu usługi Device Update for IoT Hub na urządzeniu z systemem Ubuntu Server 18.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, zanim oczyścisz konto aktualizacji urządzenia.

Następne kroki

Skorzystaj z poniższych samouczków, aby uzyskać prosty pokaz aktualizacji urządzenia dla usługi IoT Hub: