Tworzenie i aprowizowanie urządzenia usługi IoT Edge w systemie Linux przy użyciu kluczy symetrycznych
Dotyczy: IoT Edge 1.5 IoT Edge 1.4
Ważne
Obsługiwane są wersje usługi IoT Edge 1.5 LTS i IoT Edge 1.4 LTS. Usługa IoT Edge 1.4 LTS kończy się 12 listopada 2024 r. Jeśli korzystasz z wcześniejszej wersji, zobacz aktualizację Azure IoT Edge.
Ten artykuł zawiera kompleksowe instrukcje dotyczące rejestrowania i aprowizacji urządzenia usługi IoT Edge z systemem Linux, które obejmuje instalowanie usługi IoT Edge.
Każde urządzenie, które łączy się z centrum IoT Hub , ma identyfikator urządzenia używany do śledzenia komunikacji między chmurą a urządzeniem i chmurą . Urządzenie można skonfigurować przy użyciu informacji o połączeniu, w tym:
- Nazwa hosta centrum IoT
- Identyfikator urządzenia
- Szczegóły uwierzytelniania w celu nawiązania połączenia z usługą IoT Hub
Kroki opisane w tym artykule obejmują proces ręcznej aprowizacji, w którym łączysz jedno urządzenie z centrum IoT Hub. W przypadku aprowizacji ręcznej dostępne są dwie opcje uwierzytelniania urządzeń usługi IoT Edge:
Klucze symetryczne: podczas tworzenia nowej tożsamości urządzenia w usłudze IoT Hub usługa tworzy dwa klucze. Umieszczasz jeden z kluczy na urządzeniu i przedstawia klucz do usługi IoT Hub podczas uwierzytelniania.
Ta metoda uwierzytelniania jest szybsza, aby rozpocząć pracę, ale nie jest tak bezpieczna.
Podpis własny X.509: Tworzysz dwa certyfikaty tożsamości X.509 i umieszczasz je na urządzeniu. Podczas tworzenia nowej tożsamości urządzenia w usłudze IoT Hub podajesz odciski palca z obu certyfikatów. Gdy urządzenie uwierzytelnia się w usłudze IoT Hub, przedstawia jeden certyfikat, a usługa IoT Hub sprawdza, czy certyfikat jest zgodny z jego odciskiem palca.
Ta metoda uwierzytelniania jest bezpieczniejsza i zalecana w scenariuszach produkcyjnych.
W tym artykule opisano używanie kluczy symetrycznych jako metody uwierzytelniania. Jeśli chcesz używać certyfikatów X.509, zobacz Tworzenie i aprowizowanie urządzenia usługi IoT Edge w systemie Linux przy użyciu certyfikatów X.509.
Uwaga
Jeśli masz wiele urządzeń do skonfigurowania i nie chcesz ręcznie aprowizować poszczególnych urządzeń, skorzystaj z jednego z następujących artykułów, aby dowiedzieć się, jak usługa IoT Edge współpracuje z usługą aprowizacji urządzeń usługi IoT Hub:
Wymagania wstępne
W tym artykule pokazano, jak zarejestrować urządzenie usługi IoT Edge i zainstalować usługę IoT Edge (nazywaną również środowiskiem uruchomieniowym usługi IoT Edge) na urządzeniu. Przed zarejestrowaniem i zainstalowaniem urządzenia upewnij się, że masz wybrane narzędzie do zarządzania urządzeniami, na przykład interfejs wiersza polecenia platformy Azure i wymagania dotyczące urządzeń.
Narzędzia do zarządzania urządzeniami
Aby wykonać kroki rejestrowania urządzenia, możesz użyć witryny Azure Portal, programu Visual Studio Code lub interfejsu wiersza polecenia platformy Azure. Każde narzędzie ma własne wymagania wstępne lub może być konieczne zainstalowanie:
Bezpłatne lub standardowe centrum IoT w ramach subskrypcji platformy Azure.
Wymagania dotyczące urządzenia
Urządzenie z systemem Linux X64, ARM32 lub ARM64.
Firma Microsoft publikuje pakiety instalacyjne dla różnych systemów operacyjnych.
Aby uzyskać najnowsze informacje o tym, które systemy operacyjne są obecnie obsługiwane w scenariuszach produkcyjnych, zobacz Obsługiwane systemy usługi Azure IoT Edge.
Rozszerzenia programu Visual Studio Code
Jeśli używasz programu Visual Studio Code, przydatne są rozszerzenia usługi Azure IoT, które ułatwiają proces tworzenia i zarządzania urządzeniami.
Zainstaluj zarówno rozszerzenia usługi Azure IoT Edge, jak i usługi Azure IoT Hub:
Azure IoT Edge. Rozszerzenia usługi Azure IoT Edge dla programu Visual Studio Code są w trybie konserwacji.
Rejestrowanie własnego urządzenia
Aby zarejestrować urządzenie, w zależności od preferencji, możesz użyć witryny Azure Portal, programu Visual Studio Code lub interfejsu wiersza polecenia platformy Azure.
W centrum IoT w witrynie Azure Portal urządzenia usługi IoT Edge są tworzone i zarządzane oddzielnie od urządzeń IoT, które nie są włączone na urządzeniach brzegowych.
Zaloguj się do witryny Azure Portal i przejdź do centrum IoT Hub.
W okienku po lewej stronie wybierz pozycję Urządzenia z menu, a następnie wybierz pozycję Dodaj urządzenie.
Na stronie Tworzenie urządzenia podaj następujące informacje:
- Utwórz opisowy identyfikator urządzenia, na przykład
my-edge-device-1
(wszystkie małe litery). Skopiuj ten identyfikator urządzenia, ponieważ będzie on używany później. - Zaznacz pole wyboru Urządzenie usługi IoT Edge.
- Wybierz pozycję Klucz symetryczny jako typ uwierzytelniania.
- Użyj ustawień domyślnych, aby automatycznie wygenerować klucze uwierzytelniania, które łączą nowe urządzenie z centrum.
- Utwórz opisowy identyfikator urządzenia, na przykład
Wybierz pozycję Zapisz.
Nowe urządzenie powinno zostać wyświetlone w centrum IoT Hub.
Po zarejestrowaniu urządzenia w usłudze IoT Hub możesz pobrać informacje dotyczące aprowizacji używane do ukończenia instalacji i aprowizacji środowiska uruchomieniowego usługi IoT Edge w następnym kroku.
Wyświetlanie zarejestrowanych urządzeń i pobieranie informacji o aprowizacji
Urządzenia korzystające z uwierzytelniania klucza symetrycznego wymagają parametry połączenia do ukończenia instalacji i aprowizacji środowiska uruchomieniowego usługi IoT Edge. Parametry połączenia jest generowany dla urządzenia usługi IoT Edge podczas tworzenia urządzenia. W przypadku programu Visual Studio Code i interfejsu wiersza polecenia platformy Azure parametry połączenia znajduje się w danych wyjściowych JSON. Jeśli używasz witryny Azure Portal do tworzenia urządzenia, możesz znaleźć parametry połączenia z samego urządzenia. Po wybraniu urządzenia w centrum IoT Hub zostanie ono wyświetlone jako Primary connection string
na stronie urządzenia.
Urządzenia z obsługą krawędzi, które łączą się z centrum IoT Hub, są wyświetlane na stronie Urządzenia centrum IoT Hub. Jeśli masz wiele urządzeń, możesz filtrować listę, wybierając typ Urządzenia usługi Iot Edge, a następnie wybierz pozycję Zastosuj.
Gdy wszystko będzie gotowe do skonfigurowania urządzenia, potrzebujesz parametry połączenia, który łączy urządzenie fizyczne z jego tożsamością w centrum IoT. Urządzenia uwierzytelnione za pomocą kluczy symetrycznych mają dostępne parametry połączenia do kopiowania w portalu. Aby znaleźć parametry połączenia w portalu:
- Na stronie Urządzenia wybierz z listy identyfikator urządzenia usługi IoT Edge.
- Skopiuj wartość podstawowych parametrów połączenia lub pomocniczych parametrów połączenia. Dowolny klucz działa.
Instalowanie usługi IoT Edge
W tej sekcji przygotujesz maszynę wirtualną z systemem Linux lub urządzenie fizyczne na potrzeby usługi IoT Edge. Następnie zainstalujesz przeglądarkę IoT Edge.
Uruchom następujące polecenia, aby dodać repozytorium pakietów, a następnie dodaj klucz podpisywania pakietu firmy Microsoft do listy zaufanych kluczy.
Ważne
30 czerwca 2022 r. urządzenie Raspberry Pi OS Stretch zostało wycofane z listy pomocy technicznej systemu operacyjnego Tier 1. Aby uniknąć potencjalnych luk w zabezpieczeniach, zaktualizuj system operacyjny hosta do Bullseye.
W przypadku systemów operacyjnych platformy obsługiwanej w warstwie 2 pakiety instalacyjne są udostępniane w wersjach usługi Azure IoT Edge. Zapoznaj się z krokami instalacji w obszarze Instalacja w trybie offline lub określonej wersji.
Instalowanie można wykonać za pomocą kilku poleceń. Otwórz terminal i uruchom następujące polecenia:
24.04:
wget https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb
22.04:
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb
20.04:
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb
Aby uzyskać więcej informacji na temat wersji systemu operacyjnego, zobacz Platformy obsługiwane przez usługę Azure IoT Edge.
Uwaga
Pakiety oprogramowania usługi Azure IoT Edge podlegają postanowieniom licencyjnym znajdującym się w każdym pakiecie (usr/share/doc/{package-name}
lub LICENSE
katalogu). 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.
Instalowanie aparatu kontenera
Usługa Azure IoT Edge korzysta ze środowiska uruchomieniowego kontenera zgodnego z technologią OCI. W przypadku scenariuszy produkcyjnych zalecamy użycie aparatu Moby. Aparat Moby jest oficjalnie obsługiwany przez aparat kontenerów w usłudze IoT Edge. Obrazy kontenerów platformy Docker CE/EE są zgodne ze środowiskiem uruchomieniowym Moby. Jeśli używasz przystawki Ubuntu Core, przystawka platformy Docker jest obsługiwana przez firmę Canonical i obsługiwana w scenariuszach produkcyjnych.
Zainstaluj aparat Moby.
sudo apt-get update; \
sudo apt-get install moby-engine
Domyślnie aparat kontenera nie ustawia limitów rozmiaru dziennika kontenera. Po pewnym czasie może to prowadzić do zapełnienia urządzenia dziennikami i wyczerpania miejsca na dysku. Można jednak skonfigurować dziennik tak, aby był wyświetlany lokalnie, choć jest opcjonalny. Aby dowiedzieć się więcej na temat konfiguracji rejestrowania, zobacz Lista kontrolna wdrażania produkcyjnego.
W poniższych krokach pokazano, jak skonfigurować kontener do używania local
sterownika rejestrowania jako mechanizmu rejestrowania.
Tworzenie lub edytowanie istniejącego pliku konfiguracji demona platformy Docker
sudo nano /etc/docker/daemon.json
Ustaw domyślny sterownik rejestrowania na
local
sterownik rejestrowania, jak pokazano w przykładzie.{ "log-driver": "local" }
Uruchom ponownie aparat kontenera, aby zmiany zaczęły obowiązywać.
sudo systemctl restart docker
Instalowanie środowiska uruchomieniowego usługi IoT Edge
Usługa IoT Edge zapewnia i utrzymuje standardy zabezpieczeń na urządzeniu usługi IoT Edge. Usługa uruchamia się na każdym rozruchu i uruchamia urządzenie, uruchamiając resztę środowiska uruchomieniowego usługi IoT Edge.
Uwaga
Począwszy od wersji 1.2, usługa tożsamości IoT obsługuje aprowizowanie tożsamości i zarządzanie nimi dla usługi IoT Edge oraz innych składników urządzeń, które muszą komunikować się z usługą IoT Hub.
Kroki opisane w tej sekcji reprezentują typowy proces instalowania najnowszej wersji usługi IoT Edge na urządzeniu z połączeniem internetowym. Jeśli musisz zainstalować określoną wersję, taką jak wersja wstępna, lub zainstalować ją w trybie offline, wykonaj kroki instalacji w trybie offline lub określonej wersji w dalszej części tego artykułu.
Napiwek
Jeśli masz już urządzenie usługi IoT Edge z starszą wersją i chcesz przeprowadzić uaktualnienie do najnowszej wersji, wykonaj kroki opisane w temacie Aktualizowanie demona zabezpieczeń usługi IoT Edge i środowiska uruchomieniowego. Nowsze wersje są wystarczająco różne od poprzednich wersji usługi IoT Edge, że do uaktualnienia niezbędne są konkretne kroki.
Zainstaluj najnowszą wersję usługi IoT Edge i pakietu usługi tożsamości IoT (jeśli nie jesteś jeszcze aktualny):
22.04:
sudo apt-get update; \ sudo apt-get install aziot-edge
20.04:
sudo apt-get update; \ sudo apt-get install aziot-edge defender-iot-micro-agent-edge
Opcjonalny defender-iot-micro-agent-edge
pakiet obejmuje mikroa agenta zabezpieczeń usługi Microsoft Defender for IoT, który zapewnia wgląd w zarządzanie stanem zabezpieczeń, luki w zabezpieczeniach, wykrywanie zagrożeń, zarządzanie flotą i nie tylko, aby ułatwić zabezpieczanie urządzeń usługi IoT 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ń.
Aprowizuj urządzenie przy użyciu tożsamości w chmurze
Teraz, gdy aparat kontenera i środowisko uruchomieniowe usługi IoT Edge są zainstalowane na urządzeniu, możesz przystąpić do konfigurowania urządzenia przy użyciu informacji o tożsamości i uwierzytelnianiu w chmurze.
Urządzenie usługi IoT Edge można skonfigurować przy użyciu uwierzytelniania klucza symetrycznego przy użyciu następującego polecenia:
sudo iotedge config mp --connection-string 'PASTE_DEVICE_CONNECTION_STRING_HERE'
To iotedge config mp
polecenie tworzy plik konfiguracji na urządzeniu i wprowadza parametry połączenia w pliku konfiguracji.
Zastosuj zmiany konfiguracji.
sudo iotedge config apply
Aby wyświetlić plik konfiguracji, możesz go otworzyć:
sudo nano /etc/aziot/config.toml
Wdrażanie modułów
Aby wdrożyć moduły usługi IoT Edge, przejdź do centrum IoT Hub w witrynie Azure Portal, a następnie:
Wybierz pozycję Urządzenia z menu usługi IoT Hub.
Wybierz urządzenie, aby otworzyć jego stronę.
Wybierz kartę Ustaw moduły .
Ponieważ chcemy wdrożyć domyślne moduły usługi IoT Edge (edgeAgent i edgeHub), nie musimy dodawać żadnych modułów do tego okienka, dlatego wybierz pozycję Przejrzyj i utwórz u dołu.
Zostanie wyświetlone potwierdzenie JSON modułów. Wybierz pozycję Utwórz , aby wdrożyć moduły.
Aby uzyskać więcej informacji, zobacz Wdrażanie modułu.
Weryfikowanie pomyślnej konfiguracji
Sprawdź, czy środowisko uruchomieniowe zostało pomyślnie zainstalowane i skonfigurowane na urządzeniu usługi IoT Edge.
Napiwek
Uruchomienie poleceń iotedge
wymaga podniesionych uprawnień. Po wylogowaniu się z komputera i ponownym zalogowaniu się do niego po raz pierwszy od zainstalowania środowiska uruchomieniowego usługi IoT Edge Twoje uprawnienia zostaną automatycznie zaktualizowane. Do tego czasu użyj sudo
polecenia przed poleceniami.
Sprawdź, czy usługa systemowa usługi IoT Edge jest uruchomiona.
sudo iotedge system status
Pomyślna odpowiedź stanu pokazuje
aziot
usługi jako uruchomione lub gotowe.Jeśli potrzebujesz rozwiązać problem z usługą, pobierz jej dzienniki.
sudo iotedge system logs
check
Użyj narzędzia , aby zweryfikować konfigurację i stan połączenia urządzenia.sudo iotedge check
Możesz oczekiwać zakresu odpowiedzi, które mogą zawierać ok (zielony), Ostrzeżenie (żółty) lub Błąd (czerwony). Aby uzyskać informacje na temat rozwiązywania typowych błędów, zobacz Rozwiązania typowych problemów z usługą Azure IoT Edge.
Napiwek
Zawsze używaj
sudo
narzędzia do sprawdzania, nawet po zaktualizowaniu uprawnień. Narzędzie wymaga podniesionych uprawnień, aby uzyskać dostęp do pliku konfiguracji w celu zweryfikowania stanu konfiguracji.Uwaga
Na nowo aprowizowanych urządzeniach może zostać wyświetlony błąd związany z usługą IoT Edge Hub:
× gotowości produkcyjnej: katalog magazynu usługi Edge Hub jest utrwalany w systemie plików hosta — błądNie można sprawdzić bieżącego stanu kontenera edgeHub
Ten błąd jest oczekiwany na nowo aprowizowanych urządzeniach, ponieważ moduł usługi IoT Edge Hub nie jest jeszcze uruchomiony. Upewnij się, że moduły usługi IoT Edge zostały wdrożone w poprzednich krokach. Wdrożenie usuwa ten błąd.
Alternatywnie może zostać wyświetlony kod stanu jako
417 -- The device's deployment configuration is not set
. Po wdrożeniu modułów ten stan zmieni się.Po uruchomieniu usługi po raz pierwszy powinien zostać wyświetlony tylko uruchomiony moduł edgeAgent . Moduł edgeAgent działa domyślnie i pomaga zainstalować i uruchomić dodatkowe moduły wdrażane na urządzeniu.
Sprawdź, czy urządzenie i moduły są wdrażane i uruchomione, wyświetlając stronę urządzenia w witrynie Azure Portal.
Po wdrożeniu i uruchomieniu modułów wyświetl je na urządzeniu lub maszynie wirtualnej za pomocą następującego polecenia:
sudo iotedge list
Instalacja w trybie offline lub określonej wersji (opcjonalnie)
Kroki opisane w tej sekcji dotyczą scenariuszy, które nie są objęte standardowymi krokami instalacji. Mogą to być na przykład:
- Instalowanie usługi IoT Edge w trybie offline
- Instalowanie wersji kandydata do wydania
Wykonaj kroki opisane w tej sekcji, jeśli chcesz zainstalować określoną wersję środowiska uruchomieniowego usługi Azure IoT Edge, która nie jest dostępna za pośrednictwem menedżera pakietów. Lista pakietów firmy Microsoft zawiera tylko ograniczony zestaw najnowszych wersji i ich podrzędnych wersji, dlatego te kroki dotyczą wszystkich osób, które chcą zainstalować starszą wersję lub wersję kandydata do wydania.
Jeśli używasz przystawek systemu Ubuntu, możesz pobrać przystawkę i zainstalować ją w trybie offline. Aby uzyskać więcej informacji, zobacz Pobieranie przystawek i instalowanie w trybie offline.
Za pomocą poleceń curl można kierować pliki składników bezpośrednio z repozytorium GitHub usługi IoT Edge.
Przejdź do wersji usługi Azure IoT Edge i znajdź wersję wydania, którą chcesz kierować.
Rozwiń sekcję Zasoby dla tej wersji.
Każda wersja powinna zawierać nowe pliki dla usługi IoT Edge i usługi tożsamości. Jeśli zamierzasz zainstalować usługę IoT Edge na urządzeniu w trybie offline, pobierz te pliki z wyprzedzeniem. W przeciwnym razie użyj następujących poleceń, aby zaktualizować te składniki.
Znajdź plik aziot-identity-service zgodny z architekturą urządzenia usługi IoT Edge. Kliknij prawym przyciskiem myszy link do pliku i skopiuj adres linku.
Użyj skopiowanego linku w poniższym poleceniu, aby zainstalować wersję usługi tożsamości:
curl -L <identity service link> -o aziot-identity-service.deb && sudo apt-get install ./aziot-identity-service.deb
Znajdź plik aziot-edge zgodny z architekturą urządzenia usługi IoT Edge. Kliknij prawym przyciskiem myszy link do pliku i skopiuj adres linku.
Użyj skopiowanego linku w poniższym poleceniu, aby zainstalować wersję usługi IoT Edge.
curl -L <iotedge link> -o aziot-edge.deb && sudo apt-get install ./aziot-edge.deb
Odinstalowywanie usługi IoT Edge
Jeśli chcesz usunąć instalację usługi IoT Edge z urządzenia, użyj następujących poleceń.
Usuń środowisko uruchomieniowe usługi IoT Edge.
sudo apt-get autoremove --purge aziot-edge
Pomiń flagę, --purge
jeśli planujesz ponownie zainstalować usługę IoT Edge i używać tych samych informacji o konfiguracji w przyszłości. Flaga --purge
usuwa wszystkie pliki skojarzone z usługą IoT Edge, w tym pliki konfiguracji.
Po usunięciu środowiska uruchomieniowego usługi IoT Edge wszystkie utworzone przez niego kontenery zostaną zatrzymane, ale nadal istnieją na urządzeniu. Wyświetl wszystkie kontenery, aby zobaczyć, które z nich pozostają.
sudo docker ps -a
Usuń kontenery z urządzenia, w tym dwa kontenery środowiska uruchomieniowego.
sudo docker rm -f <container ID>
Na koniec usuń środowisko uruchomieniowe kontenera z urządzenia.
sudo apt-get autoremove --purge moby-engine
Następne kroki
Kontynuuj wdrażanie modułów usługi IoT Edge, aby dowiedzieć się, jak wdrażać moduły na urządzeniu.