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
Jeśli jeszcze tego nie zrobiono, utwórz konto i wystąpienie usługi Device Update. Konfigurowanie centrum IoT.
Potrzebujesz parametrów połączenia dla urządzenia IoT Edge.
Jeśli do wcześniejszego testowania użyto samouczka 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
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.
Aby rozpocząć, wybierz przycisk:
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, 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.
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.
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>
.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
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.
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.
Zainstaluj pakiety .deb agenta aktualizacji urządzeń:
sudo apt-get install deviceupdate-agent
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
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
Zaloguj się do Azure Portal i przejdź do centrum IoT Hub.
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.
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.
Dodaj nową wartość tagu Device Update, jak pokazano:
"tags": { "ADUGroup": "<CustomTagValue>" },
Ten zrzut ekranu przedstawia sekcję, w której należy dodać tag w bliźniaczej reprezentacji.
Importowanie aktualizacji
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).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.
Wybierz kartę Aktualizacje.
Wybierz pozycję + Importuj nową aktualizację.
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.
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ę .
Ten zrzut ekranu przedstawia krok importowania. Nazwy plików mogą nie być zgodne z nazwami używanymi w przykładzie.
Na stronie Importowanie aktualizacji przejrzyj pliki do zaimportowania. Następnie wybierz pozycję Importuj aktualizację , aby rozpocząć proces importowania.
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.
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ń.
Przejdź do karty Grupy i wdrożenia w górnej części strony.
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.
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
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.
Wybierz grupę docelową, wybierając nazwę grupy. Zostaną przekierowane do szczegółów grupy w obszarze Podstawowe informacje o grupie.
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 .
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.
W obszarze Szczegóły wdrożeniastan zmieni się na Aktywny. Wdrożona aktualizacja jest oznaczona elementem (wdrażanie).
Wyświetl wykres zgodności, aby zobaczyć, że aktualizacja jest teraz w toku.
Po pomyślnym zaktualizowaniu urządzenia zobaczysz, że wykres zgodności i szczegóły wdrożenia zostaną zaktualizowane, aby odzwierciedlić to samo.
Monitorowanie wdrożenia aktualizacji
Wybierz kartę Historia wdrożenia w górnej części strony.
Wybierz link szczegółów obok utworzonego wdrożenia.
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.