Ćwiczenie — instalowanie środowiska uruchomieniowego usługi IoT Edge dla systemu Linux
Przed rozpoczęciem potrzebne będą następujące elementy:
- Subskrypcja platformy Microsoft Azure. Jeśli jej jeszcze nie masz, możesz zarejestrować się w celu uzyskania bezpłatnej wersji próbnej na stronie https://azure.microsoft.com/free . Jeśli jesteś uczniem, utwórz konto platformy Azure for Students .
Tworzenie zasobów w chmurze
Tworzenie grupy zasobów
Wykonaj następujące kroki w środowisku usługi Azure Cloud Shell.
Wybierz pozycję "Bash" w lewym górnym rogu jako środowisko dla usługi Cloud Shell.
Dodaj rozszerzenie usługi Azure IoT do wystąpienia usługi Cloud Shell.
az extension add --name azure-iot
Utwórz grupę zasobów w lokalizacji eastus2 przy użyciu następującego polecenia. Nadaj nazwę grupie zasobów.
az group create --name <resource-group-name> --location eastus2
Tworzenie urządzenia usługi IoT Edge w centrum IoT
Utwórz usługę IoT Hub w warstwie F1 przy użyciu następującego polecenia. Nadaj nazwę usłudze IoT Hub i zastąp ją grupą zasobów.
az iot hub create --resource-group <resource-group-name> --name <iot-hub-name> --sku F1 --partition-count 2
Zanim urządzenie będzie mogło nawiązać połączenie, należy je najpierw zarejestrować w centrum IoT Hub. Uruchom następujące polecenie, aby utworzyć tożsamość urządzenia w usłudze IoT Hub. Nadaj nazwę urządzeniu IoT i zastąp ją swoją usługą IoT Hub.
az iot hub device-identity create --hub-name <iot-hub-name> --device-id <device-id>
Instalowanie usługi IoT Edge dla systemu Linux
Uwaga
Przejdź do strony firmy Microsoft, jeśli chcesz dowiedzieć się więcej na temat instalowania usługi IoT Edge dla systemu Linux.
Otwórz terminal na komputerze z systemem Linux.
Zainstaluj konfigurację repozytorium zgodną z systemem operacyjnym urządzenia.
Ubuntu Server 18.04:
curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list
Skopiuj wygenerowaną listę do katalogu sources.list.d.
sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/
Zainstaluj klucz publiczny GG firmy Microsoft.
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
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 jedynym oficjalnie obsługiwanym aparatem kontenerów w usłudze Azure IoT Edge. Obrazy kontenerów platformy Docker CE/EE są zgodne ze środowiskiem uruchomieniowym Moby.
Aktualizowanie list pakietów na urządzeniu.
sudo apt-get update
Zainstaluj aparat Moby.
sudo apt-get install moby-engine
Jeśli podczas instalowania aparatu kontenera Moby wystąpią błędy, sprawdź zgodność jądra systemu Linux pod kątem zgodności z narzędziem Moby. Niektórzy producenci urządzeń osadzonych wysyłają obrazy urządzeń, które zawierają niestandardowe jądra systemu Linux bez funkcji wymaganych do zapewnienia zgodności aparatu kontenera. Uruchom następujące polecenie, które używa skryptu check-config dostarczonego przez program Moby, aby sprawdzić konfigurację jądra:
curl -sSL https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh -o check-config.sh
chmod +x check-config.sh
./check-config.sh
W danych wyjściowych skryptu sprawdź, czy wszystkie elementy w obszarze Generally Necessary
i Network Drivers
są włączone. Jeśli brakuje funkcji, włącz je, ponownie skompilując jądro ze źródła i wybierając skojarzone moduły do włączenia w odpowiedniej konfiguracji jądra. Podobnie, jeśli używasz generatora konfiguracji jądra, takiego jak defconfig
lub menuconfig
, znajdź i włącz odpowiednie funkcje i odpowiednio skompiluj jądro. Po wdrożeniu nowo zmodyfikowanego jądra ponownie uruchom skrypt check-config, aby sprawdzić, czy wszystkie wymagane funkcje zostały pomyślnie włączone.
Instalowanie demona zabezpieczeń usługi IoT Edge
Demon zabezpieczeń usługi IoT Edge zapewnia i utrzymuje standardy zabezpieczeń na urządzeniu usługi IoT Edge. Demon uruchamia się na każdym rozruchu i uruchamia urządzenie, uruchamiając resztę środowiska uruchomieniowego usługi IoT Edge.
Aktualizowanie list pakietów na urządzeniu.
sudo apt-get update
Sprawdź, które wersje usługi IoT Edge są dostępne.
apt list -a iotedge
Zainstaluj najnowszą wersję demona zabezpieczeń, użyj następującego polecenia, które instaluje również najnowszą wersję pakietu libiothsm-std :
sudo apt-get install iotedge
Aprowizuj urządzenie przy użyciu tożsamości w chmurze
Uwierzytelnianie przy użyciu kluczy symetrycznych
Na tym etapie środowisko uruchomieniowe usługi IoT Edge jest zainstalowane na urządzeniu z systemem Linux i musisz aprowizować urządzenie przy użyciu informacji o tożsamości i uwierzytelnianiu w chmurze.
W tej sekcji przedstawiono procedurę aprowizowania urządzenia przy użyciu uwierzytelniania klucza symetrycznego. Urządzenie powinno zostać zarejestrowane w usłudze IoT Hub i pobrało parametry połączenia z informacji o urządzeniu.
Na urządzeniu usługi IoT Edge otwórz plik konfiguracji.
sudo nano /etc/iotedge/config.yaml
Znajdź konfiguracje aprowizacji pliku i usuń komentarz konfiguracji ręcznej aprowizacji przy użyciu sekcji parametry połączenia, jeśli nie jest jeszcze niezakomentowany.
```toml
# Manual provisioning configuration using a connection string
provisioning:
source: "manual"
device_connection_string: "<ADD DEVICE CONNECTION STRING HERE>"
```
Zaktualizuj wartość device_connection_string przy użyciu parametry połączenia z urządzenia usługi IoT Edge. Upewnij się, że wszystkie inne sekcje aprowizacji są komentowane. Upewnij się, że aprowizacja: wiersz nie ma wcześniejszego odstępu i że zagnieżdżone elementy są wcięte przez dwie spacje.
Aby wkleić zawartość schowka do pozycji Nano Shift+Right, kliknij lub naciśnij klawisze Shift+Insert.
Zapisz i zamknij plik.
CTRL + X`, `Y`, `Enter
Po wprowadzeniu informacji o aprowizacji w pliku konfiguracji uruchom ponownie demona:
sudo systemctl restart iotedge
Weryfikowanie pomyślnej konfiguracji
Sprawdź, czy środowisko uruchomieniowe zostało pomyślnie zainstalowane i skonfigurowane na urządzeniu usługi IoT Edge.
Sprawdź, czy usługa systemowa usługi IoT Edge jest uruchomiona.
sudo systemctl status iotedge