Samouczek: aktualizacja urządzenia dla Azure IoT Hub przy użyciu agenta pakietu w systemie Ubuntu Server 18.04 x64

Usługa Device Update dla 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 umożliwiają również mniejsze przestoje urządzeń podczas stosowania aktualizacji i unikanie nakładu pracy nad 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 18.04 x64 przy użyciu agenta pakietu device Update. Mimo że samouczek pokazuje aktualizowanie IoT Edge, wykonując podobne kroki, można zaktualizować inne pakiety, takie jak aparat kontenera, 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 poznać szczegóły.

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

Przygotowywanie urządzenia

Przygotuj urządzenie automatycznie lub ręcznie.

Użyj przycisku Zautomatyzowane wdrażanie na platformie Azure

Dla wygody w tym samouczku użyto opartego na chmurzeszablonu usługi 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 przy użyciu informacji aprowizujących przy użyciu parametrów połączenia urządzenia dla podanego urządzenia IoT Edge (wymagania wstępne). Szablon 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:

    Zrzut ekranu przedstawiający szablon iotedge-vm-deploy.

    • 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, która jest używana do prefiksu nazwy hosta maszyny wirtualnej.
    • Administracja Nazwa użytkownika: nazwa użytkownika, która jest udostępniana uprawnienia główne we wdrożeniu.
    • Parametry połączenia urządzenia: parametry połączenia 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 do zainstalowania na podstawowej maszynie wirtualnej. Pozostaw wartość domyślną bez zmian, ponieważ zostanie ona ustawiona na Ubuntu 18.04-LTS.
    • Typ uwierzytelniania: wybierz wartość sshPublicKey lub hasło na podstawie preferencji.
    • Administracja hasło 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 zakończyło się pomyślnie. Poczekaj kilka minut po zakończeniu wdrażania po zakończeniu instalacji i konfiguracji, aby zakończyć instalowanie IoT Edge i agenta aktualizacji pakietu urządzenia.

    Zasób maszyny wirtualnej powinien zostać wdrożony w wybranej grupie zasobów. Zanotuj nazwę maszyny, która ma format 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 Azure Portal.

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

    Porada

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

  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. Należy pamiętać, że wszystkie wartości z tagiem "Umieść tutaj" muszą być ustawione. Zobacz Konfigurowanie agenta DU.

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

    sudo systemctl restart deviceupdate-agent
    

Usługa Device Update dla pakietów oprogramowania Azure IoT Hub podlega następującym postanowieniom licencyjnym:

Przeczytaj postanowienia licencyjne przed użyciem pakietu. Instalacja i użycie pakietu stanowi akceptację tych 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żywane 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 IoT Edge. Jednak polega ona na demonie usługi tożsamości IoT zainstalowanym z IoT Edge (1.2.0 i nowszym), aby uzyskać tożsamość i nawiązać połączenie z IoT Hub.

    Chociaż nie opisano w tym samouczku, demon usługi IoT Identity Service 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 IoT Identity Service. W przeciwnym razie agent pakietu nie zostanie zarejestrowany jako autoryzowany składnik w celu nawiązania połączenia z IoT Hub.

  2. Zainstaluj pakiety .deb agenta aktualizacji urządzeń:

    sudo apt-get install deviceupdate-agent 
    
  3. Wprowadź moduł urządzenia IoT (lub urządzenie, w zależności od sposobu aprowizowania urządzenia za pomocą usługi Device Update) podstawowych parametrów połączenia w pliku konfiguracji. Należy pamiętać, że wszystkie wartości z tagiem "Umieść tutaj" muszą być ustawione. Zobacz Konfigurowanie agenta DU.

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

    sudo systemctl restart deviceupdate-agent
    

Usługa Device Update dla pakietów oprogramowania Azure IoT Hub podlega następującym postanowieniom licencyjnym:

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

Dodawanie tagu do urządzenia

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

  2. W okienku po lewej stronie w obszarze Urządzenia znajdź urządzenie 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:

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

    Zrzut ekranu przedstawiający reprezentację bliźniaczą 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-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 Azure Portal i przejdź do centrum IoT Hub za pomocą 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 pozycji + Konto magazynu. 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 na potrzeby importowania.

    Uwaga

    Zalecamy używanie 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 z 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ść z usługą Device Update.

  2. Wybierz grupę docelową, wybierając nazwę grupy. Zostaną przekierowane 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 pozycję Utwórz.

    Porada

    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 zaczęło się wcześniej.

    Zrzut ekranu przedstawiający tworzenie wdrożenia.

  5. W obszarze Szczegóły wdrożeniastan 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 pomyślną aktualizację.

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ółów 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ą aktualizację kompleksowego pakietu przy użyciu usługi Device Update dla 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 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 wyczyszczeniem konta aktualizacji urządzenia.

Następne kroki