Aktualizowanie usługi IoT Edge

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.

W miarę jak usługa IoT Edge wydaje nowe wersje, aktualizuj urządzenia usługi IoT Edge, aby uzyskać dostęp do najnowszych funkcji i ulepszeń zabezpieczeń. Ten artykuł zawiera informacje o sposobie aktualizowania urządzeń usługi IoT Edge, gdy jest dostępna nowa wersja.

Jeśli chcesz przejść do nowszej wersji, należy zaktualizować dwa składniki logiczne urządzenia usługi IoT Edge.

  • Podsystem zabezpieczeń — mimo że architektura podsystemuzabezpieczeń zmieniła się między wersją 1.1 i 1.2, jej obowiązki pozostały takie same. Działa na urządzeniu, obsługuje zadania oparte na zabezpieczeniach i uruchamia moduły po uruchomieniu urządzenia. Podsystem zabezpieczeń można zaktualizować tylko z poziomu samego urządzenia.

  • Środowisko uruchomieniowe usługi IoT Edge — środowisko uruchomieniowe usługi IoT Edge składa się z modułów centrum usługi IoT Edge (edgeHub) i agenta usługi IoT Edge (edgeAgent). W zależności od struktury wdrożenia środowisko uruchomieniowe można zaktualizować z urządzenia lub zdalnie.

Jak aktualizować

Skorzystaj z sekcji tego artykułu, aby zaktualizować zarówno podsystem zabezpieczeń, jak i kontenery środowiska uruchomieniowego na urządzeniu.

Wersje poprawek

Podczas uaktualniania między wersjami poprawek , na przykład 1.4.1 do 1.4.2, kolejność aktualizacji nie jest ważna. Podsystem zabezpieczeń lub kontenery środowiska uruchomieniowego można uaktualnić przed lub po drugiej. Aby zaktualizować między wydaniami poprawek:

  1. Aktualizowanie podsystemu zabezpieczeń
  2. Aktualizowanie kontenerów środowiska uruchomieniowego
  3. Weryfikowanie dopasowania wersji

Proces uaktualniania można rozwiązywać w dowolnym momencie.

Wersje główne lub pomocnicze

Podczas uaktualniania wersji głównych lub pomocniczych, na przykład z wersji 1.1 do 1.4, zaktualizuj zarówno podsystem zabezpieczeń, jak i kontenery środowiska uruchomieniowego. Przed wydaniem testujemy podsystem zabezpieczeń i kombinację wersji kontenera środowiska uruchomieniowego. Aby zaktualizować wersje głównych lub pomocniczych produktów:

  1. Na urządzeniu zatrzymaj usługę IoT Edge przy użyciu polecenia sudo systemctl stop iotedge i odinstalowania.

  2. Na urządzeniu uaktualnij aparat kontenera — docker lub Moby.

  3. Na urządzeniu zainstaluj program IoT Edge.

    Jeśli importujesz starą konfigurację przy użyciu polecenia iotedge config import, zmodyfikuj obraz [agent.config] wygenerowanego /etc/aziot/config.toml pliku, aby użyć obrazu 1.4 dla agenta edgeAgent.

    Aby uzyskać więcej informacji, zobacz Konfigurowanie ustawień urządzenia usługi IoT Edge.

  4. W usłudze IoT Hub zaktualizuj wdrożenie modułu, aby odwoływać się do najnowszych modułów systemowych.

  5. Na urządzeniu uruchom usługę IoT Edge przy użyciu polecenia sudo iotedge config apply.

Proces uaktualniania można rozwiązywać w dowolnym momencie.

Aktualizowanie podsystemu zabezpieczeń

Podsystem zabezpieczeń usługi IoT Edge zawiera zestaw składników natywnych, które należy zaktualizować przy użyciu menedżera pakietów na urządzeniu usługi IoT Edge.

Sprawdź wersję podsystemu zabezpieczeń uruchomionego na urządzeniu przy użyciu polecenia iotedge version. Jeśli używasz usługi IoT Edge dla systemu Linux w systemie Windows, musisz użyć protokołu SSH na maszynie wirtualnej z systemem Linux, aby sprawdzić wersję.

Ważne

Jeśli aktualizujesz urządzenie z wersji 1.0 lub 1.1 do najnowszej wersji, istnieją różnice w procesach instalacji i konfiguracji, które wymagają dodatkowych kroków. Aby uzyskać więcej informacji, zobacz kroki opisane w dalszej części tego artykułu: Przypadek specjalny: aktualizacja z wersji 1.0 lub 1.1 do najnowszej wersji.

Na urządzeniach z systemem Linux x64 użyj apt-get lub odpowiedniego menedżera pakietów, aby zaktualizować podsystem zabezpieczeń do najnowszej wersji.

Aktualizacja apt:

sudo apt-get update

Uwaga

Aby uzyskać instrukcje dotyczące pobierania najnowszej konfiguracji repozytorium od firmy Microsoft, zobacz wstępne kroki instalacji usługi IoT Edge.

Sprawdź, które wersje usługi IoT Edge są dostępne:

apt list -a aziot-edge

Aktualizowanie usługi IoT Edge:

sudo apt-get install aziot-edge defender-iot-micro-agent-edge

Uruchomienie apt-get install aziot-edge uaktualnia podsystem zabezpieczeń i instaluje usługę tożsamości , aziot-identity-servicejako wymaganą zależność.

Zaleca się zainstalowanie mikro agenta za pomocą agenta usługi Edge w celu włączenia monitorowania zabezpieczeń i wzmacniania zabezpieczeń urządzeń brzegowych. Aby dowiedzieć się więcej o usłudze Microsoft Defender dla IoT, zobacz Co to jest usługa Microsoft Defender dla IoT dla konstruktorów urządzeń.

Następnie ponownie zastosuj konfigurację, aby upewnić się, że system jest w pełni zaktualizowany.

sudo iotedge config apply

Aktualizowanie kontenerów środowiska uruchomieniowego

Sposób aktualizowania agenta usługi IoT Edge i kontenerów centrum usługi IoT Edge zależy od tego, czy w danym wdrożeniu są używane tagi stopniowe (na przykład 1.1) czy określone tagi (na przykład 1.1.1).

Sprawdź wersję agenta usługi IoT Edge i modułów centrum usługi IoT Edge aktualnie na urządzeniu przy użyciu poleceń iotedge logs edgeAgent lub iotedge logs edgeHub. Jeśli używasz usługi IoT Edge dla systemu Linux w systemie Windows, musisz użyć protokołu SSH na maszynie wirtualnej z systemem Linux, aby sprawdzić wersje modułu środowiska uruchomieniowego.

Screenshot of where to find the container version in console logs.

Omówienie tagów usługi IoT Edge

Obrazy agenta usługi IoT Edge i centrum usługi IoT Edge są oznaczane wersją usługi IoT Edge, z którą są skojarzone. Istnieją dwa różne sposoby używania tagów z obrazami środowiska uruchomieniowego:

  • Tagi stopniowe — użyj tylko dwóch pierwszych wartości numeru wersji, aby uzyskać najnowszy obraz zgodny z tymi cyframi. Na przykład wersja 1.1 jest aktualizowana za każdym razem, gdy jest dostępna nowa wersja, aby wskazywała najnowszą wersję 1.1.x. Jeśli środowisko uruchomieniowe kontenera na urządzeniu usługi IoT Edge ponownie ściągnie obraz, moduły środowiska uruchomieniowego zostaną zaktualizowane do najnowszej wersji. Wdrożenia z witryny Azure Portal domyślnie są tagami kroczącymi. Takie podejście jest sugerowane do celów programistycznych.

  • Określone tagi — użyj wszystkich trzech wartości numeru wersji, aby jawnie ustawić wersję obrazu. Na przykład wersja 1.1.0 nie zmieni się po jej początkowej wersji. Możesz zadeklarować nowy numer wersji w manifeście wdrożenia, gdy wszystko będzie gotowe do aktualizacji. Takie podejście jest sugerowane do celów produkcyjnych.

Aktualizowanie obrazu tagu rolkowego

Jeśli używasz tagów rolujących we wdrożeniu (na przykład mcr.microsoft.com/azureiotedge-hub:1.1), musisz wymusić na urządzeniu środowisko uruchomieniowe kontenera, aby ściągnąć najnowszą wersję obrazu.

Usuń lokalną wersję obrazu z urządzenia usługi IoT Edge. Na maszynach z systemem Windows odinstalowanie podsystemu zabezpieczeń powoduje również usunięcie obrazów środowiska uruchomieniowego, więc nie trzeba wykonywać tego kroku ponownie.

docker rmi mcr.microsoft.com/azureiotedge-hub:1.1
docker rmi mcr.microsoft.com/azureiotedge-agent:1.1

Może być konieczne użycie flagi force -f w celu usunięcia obrazów.

Usługa IoT Edge pobiera najnowsze wersje obrazów środowiska uruchomieniowego i automatycznie uruchamia je na urządzeniu ponownie.

Aktualizowanie określonego obrazu tagu

Jeśli używasz określonych tagów we wdrożeniu (na przykład mcr.microsoft.com/azureiotedge-hub:1.4), wystarczy zaktualizować tag w manifeście wdrożenia i zastosować zmiany na urządzeniu.

  1. W usłudze IoT Hub w witrynie Azure Portal wybierz urządzenie usługi IoT Edge i wybierz pozycję Ustaw moduły.

  2. Na karcie Moduły wybierz pozycję Środowisko uruchomieniowe Ustawienia.

    Screenshot that shows location of the Runtime Settings tab.

  3. W obszarze Środowisko uruchomieniowe Ustawienia zaktualizuj wartość identyfikatora URI obrazu w sekcji Agent usługi Edge przy użyciu żądanej wersji. Nie wybieraj jeszcze pozycji Zastosuj .

    Screenshot that shows where to update the image URI with your version in the Edge Agent.

  4. Wybierz kartę Centrum usługi Edge i zaktualizuj wartość identyfikatora URI obrazu przy użyciu tej samej żądanej wersji.

    Screenshot that shows where to update the image URI with your version in the Edge Hub.

  5. Wybierz pozycję Zastosuj , aby zapisać zmiany.

  6. Wybierz pozycję Przejrzyj i utwórz, przejrzyj wdrożenie, jak pokazano w pliku JSON, a następnie wybierz pozycję Utwórz.

Weryfikowanie dopasowania wersji

  1. Na urządzeniu użyj polecenia iotedge version , aby sprawdzić wersję podsystemu zabezpieczeń. Dane wyjściowe zawierają numery wersji głównej, pomocniczej i poprawkowej. Na przykład iotedge 1.4.2.

  2. W ustawieniach środowiska uruchomieniowego wdrażania urządzenia sprawdź, czy wersje identyfikatora URI obrazu edgeHub i edgeAgent są zgodne z główną i pomocniczą wersją podsystemu zabezpieczeń. Jeśli wersja podsystemu zabezpieczeń to 1.4.2, wersje obrazu to 1.4. Na przykład mcr.microsoft.com/azureiotedge-hub:1.4 i mcr.microsoft.com/azureiotedge-agent:1.4.

Uwaga

Zaktualizuj podsystem zabezpieczeń usługi IoT Edge i kontenery środowiska uruchomieniowego do tej samej obsługiwanej wersji. Chociaż wersje niezgodne są obsługiwane, nie przetestowaliśmy wszystkich kombinacji wersji.

Aby znaleźć najnowszą wersję usługi Azure IoT Edge, zobacz Wersje usługi Azure IoT Edge.

Przypadek specjalny: aktualizacja z wersji 1.0 lub 1.1 do najnowszej wersji

Począwszy od wersji 1.2, usługa IoT Edge używa nowej nazwy pakietu i ma pewne różnice w procesach instalacji i konfiguracji. Jeśli masz urządzenie usługi IoT Edge w wersji 1.0 lub 1.1, skorzystaj z tych instrukcji, aby dowiedzieć się, jak zaktualizować najnowszą wersję.

Niektóre kluczowe różnice między najnowszą wersją a wersją 1.1 i starszą to:

  • Nazwa pakietu została zmieniona z iotedge na aziot-edge.
  • Pakiet libiothsm-std nie jest już używany. Jeśli używasz pakietu standardowego dostarczonego w ramach wersji usługi IoT Edge, konfiguracje można przenieść do nowej wersji. Jeśli użyto innej implementacji elementu libiothsm-std, wszystkie certyfikaty dostarczone przez użytkownika, takie jak certyfikat tożsamości urządzenia, urząd certyfikacji urządzenia i pakiet zaufania, muszą zostać ponownie skonfigurowane.
  • Nowa usługa tożsamości aziot-identity-service została wprowadzona w ramach wersji 1.2. Ta usługa obsługuje aprowizację tożsamości i zarządzanie nią dla usługi IoT Edge oraz innych składników urządzeń, które muszą komunikować się z usługą IoT Hub, takimi jak aktualizacja urządzenia dla usługi IoT Hub.
  • Domyślny plik konfiguracji ma nową nazwę i lokalizację. /etc/iotedge/config.yamlWcześniej informacje o konfiguracji urządzenia powinny być domyślnie włączone/etc/aziot/config.toml. Polecenie iotedge config import może służyć do migrowania informacji o konfiguracji ze starej lokalizacji i składni do nowej.
    • Polecenie importu nie może wykryć ani zmodyfikować reguł dostępu do modułu TPM urządzenia. Jeśli urządzenie korzysta z zaświadczania TPM, należy ręcznie zaktualizować plik /etc/udev/rules.d/tpmaccess.rules, aby udzielić dostępu do usługi aziottpm. Aby uzyskać więcej informacji, zobacz Nadaj usłudze IoT Edge dostęp do modułu TPM.
  • Interfejs API obciążenia w najnowszej wersji zapisuje zaszyfrowane wpisy tajne w nowym formacie. Jeśli uaktualnisz starszą wersję do najnowszej wersji, istniejący główny klucz szyfrowania zostanie zaimportowany. Interfejs API obciążenia może odczytywać wpisy tajne zapisane w poprzednim formacie przy użyciu zaimportowanego klucza szyfrowania. Jednak interfejs API obciążenia nie może zapisywać zaszyfrowanych wpisów tajnych w starym formacie. Po ponownym zaszyfrowaniu wpisu tajnego moduł zostanie zapisany w nowym formacie. Wpisy tajne zaszyfrowane w najnowszej wersji są nieczytelne przez ten sam moduł w wersji 1.1. W przypadku utrwalania zaszyfrowanych danych w folderze lub woluminie zainstalowanym na hoście należy zawsze utworzyć kopię zapasową danych przed uaktualnieniem, aby zachować możliwość obniżenia poziomu w razie potrzeby.
  • Aby zapewnić zgodność z poprzednimi wersjami podczas łączenia urządzeń, które nie obsługują protokołu TLS 1.2, można skonfigurować centrum usługi Edge tak, aby nadal akceptował protokół TLS 1.0 lub 1.1 za pośrednictwem zmiennej środowiskowej SslProtocols. Obsługa protokołów TLS 1.0 i 1.1 w usłudze IoT Hub jest uważana za starszą i może zostać również usunięta z usługi Edge Hub w przyszłych wersjach.  Aby uniknąć przyszłych problemów, użyj protokołu TLS 1.2 jako jedynej wersji protokołu TLS podczas nawiązywania połączenia z usługą Edge Hub lub IoT Hub.
  • Wersja zapoznawcza eksperymentalnego brokera MQTT w usłudze Edge Hub 1.2 została zakończona i nie jest uwzględniona w usłudze Edge Hub 1.4. Kontynuujemy udoskonalanie planów brokera MQTT na podstawie otrzymanych opinii. W międzyczasie, jeśli potrzebujesz zgodnego ze standardami brokera MQTT w usłudze IoT Edge, rozważ wdrożenie brokera open source, takiego jak Mosquitto jako moduł usługi IoT Edge.
  • Począwszy od wersji 1.2, gdy obraz kopii zapasowej zostanie usunięty z kontenera, kontener nadal działa i utrzymuje się po ponownym uruchomieniu. W wersji 1.1 po usunięciu obrazu zapasowego kontener zostanie natychmiast utworzony ponownie, a obraz kopii zapasowej zostanie zaktualizowany.

Przed automatyzacją wszystkich procesów aktualizacji sprawdź, czy działa na maszynach testowych.

Gdy wszystko będzie gotowe, wykonaj następujące kroki, aby zaktualizować usługę IoT Edge na urządzeniach:

  1. Zaktualizuj apt.

    sudo apt-get update
    
  2. Odinstaluj poprzednią wersję usługi IoT Edge, pozostawiając pliki konfiguracji.

    sudo apt-get remove iotedge
    
  3. Zainstaluj najnowszą wersję usługi IoT Edge wraz z usługą tożsamości IoT i mikro agentem usługi Microsoft Defender for IoT dla usługi Edge.

    sudo apt-get install aziot-edge defender-iot-micro-agent-edge
    

Zaleca się zainstalowanie mikro agenta za pomocą agenta usługi Edge w celu włączenia monitorowania zabezpieczeń i wzmacniania zabezpieczeń urządzeń brzegowych. Aby dowiedzieć się więcej o usłudze Microsoft Defender dla IoT, zobacz Co to jest usługa Microsoft Defender dla IoT dla konstruktorów urządzeń.

  1. Zaimportuj stary plik config.yaml do nowego formatu i zastosuj informacje o konfiguracji.

    sudo iotedge config import
    

Teraz, gdy najnowsza usługa IoT Edge jest uruchomiona na urządzeniach, musisz również zaktualizować kontenery środowiska uruchomieniowego do najnowszej wersji. Proces aktualizowania kontenerów środowiska uruchomieniowego jest taki sam jak proces aktualizacji usługi IoT Edge.

Rozwiązywanie problemów

Dzienniki systemu można wyświetlić w dowolnym momencie, uruchamiając następujące polecenia z urządzenia.

  • Rozpocznij rozwiązywanie problemów przy użyciu polecenia check . Uruchamia kolekcję testów konfiguracji i łączności dla typowych problemów.

    sudo iotedge check --verbose
    
  • Aby wyświetlić stan systemu usługi IoT Edge, uruchom polecenie:

    sudo iotedge system status 
    
  • Aby wyświetlić dzienniki składników hosta, uruchom polecenie:

    sudo iotedge system logs
    
  • Aby sprawdzić, czy występują problemy cykliczne zgłaszane w usłudze edgeAgent i edgeHub, uruchom polecenie:

    Pamiętaj, aby zastąpić <module> ciąg własną nazwą modułu. Jeśli nie ma żadnych problemów, nie widzisz żadnych danych wyjściowych.

    sudo iotedge logs <module>
    

Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z urządzeniem usługi IoT Edge.

Następne kroki

Wyświetl najnowsze wersje usługi Azure IoT Edge.

Bądź na bieżąco z najnowszymi aktualizacjami i ogłoszeniami w blogu Internet of Things