Ć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 jeszcze go nie masz, możesz zarejestrować się w celu uzyskania bezpłatnej wersji próbnej w https://azure.microsoft.com/free . Jeśli jesteś uczniem, utwórz konto usługi 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 Azure IoT do instancji 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
Utwórz urządzenie 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
Aby można było nawiązać połączenie, urządzenie musi zostać zarejestrowane w usłudze IoT Hub. Uruchom następujące polecenie, aby utworzyć tożsamość urządzenia w usłudze IoT Hub. Nadaj nazwę swojemu urządzeniu IoT i zastąp je swoim IoT Hubem.
az iot hub device-identity create --hub-name <iot-hub-name> --device-id <device-id>
Instalowanie usługi IoT Edge dla systemu Linux
Notatka
Przejdź do strony 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 GPG firmy Microsoft.
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
Zainstaluj silnik kontenera
Usługa Azure IoT Edge korzysta ze środowiska uruchomieniowego kontenera zgodnego z technologią OCI. W przypadku scenariuszy produkcyjnych zalecamy użycie silnika Moby. Silnik Moby jest jedynym oficjalnie wspieranym silnikiem kontenerów w usłudze Azure IoT Edge. Obrazy kontenerów Docker CE/EE są zgodne ze środowiskiem uruchomieniowym Moby.
Zaktualizuj listy pakietów na urządzeniu.
sudo apt-get update
Zainstaluj silnik Moby.
sudo apt-get install moby-engine
Jeśli podczas instalowania silnika kontenerów Moby wystąpią błędy, sprawdź jądro systemu Linux pod kątem kompatybilności z Moby. Niektórzy producenci urządzeń wbudowanych dostarczają obrazy urządzeń, które zawierają niestandardowe jądra systemu Linux, bez funkcji wymaganych do zgodności z silnikiem kontenerów. 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 do odpowiedniego jądra .config. 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.
Zaktualizuj listy 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
Skonfiguruj urządzenie przy użyciu jego 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. Powinieneś zarejestrować swoje urządzenie w usłudze IoT Hub i pobrać parametr 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 z sekcji ręcznej konfiguracji aprowizacji przy użyciu łańcucha połączenia, jeśli nie jest ona jeszcze bez komentarza.
```toml
# Manual provisioning configuration using a connection string
provisioning:
source: "manual"
device_connection_string: "<ADD DEVICE CONNECTION STRING HERE>"
```
Zaktualizuj wartość device_connection_string, używając ciągu połączenia ze swojego urządzenia IoT Edge. Upewnij się, że wszystkie inne sekcje prowizjonowania są zakomentowane. Upewnij się, że wiersz z prowizjonowania: nie ma poprzedzającego odstępu i że zagnieżdżone elementy są wcięte o dwie spacje.
Aby wkleić zawartość schowka do pozycji Nano Shift+Right, kliknij lub naciśnij 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