Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł dotyczy osób, które chcą dodać do swoich urządzeń możliwości konfiguracji systemu operacyjnego, dzięki czemu ich konfigurację można aprowizować, zarządzać i monitorować za pośrednictwem usług Azure IoT. Może to obejmować konstruktorów urządzeń, integratorów systemów, konstruktorów rozwiązań itd.
Agent OSConfig to kompaktowy składnik systemu Linux, który projektuje konfigurację lokalną każdego urządzenia w usłudze Azure IoT na potrzeby aprowizacji i zarządzania na dużą skalę. Aby zapoznać się z kontekstem motywacji i użycia aplikacji OSConfig, zobacz : Co to jest konfiguracja systemu operacyjnego dla IoT.
Skalowanie floty lub pojedyncze urządzenie?
Aby rozpocząć wypróbowanie scenariuszy, możesz zainstalować aplikację OSConfig na jednym urządzeniu.
Na dużą skalę każde urządzenie, którego konfiguracja zostanie aprowizowana i zarządzana, musi mieć agenta OSConfig, jak pokazano na poniższym diagramie.
Zazwyczaj agent OSConfig jest uwzględniany w obrazach systemu operacyjnego urządzenia odniesienia, które są następnie stosowane do wielu urządzeń.
Jakiego rodzaju urządzenia?
Klasy sprzętowe
Zapoznaj się z poniższą tabelą, aby zapoznać się z podsumowaniem. Szczegółowe uwagi są zgodne z tabelą.
| Czy zainstalować aplikację OSConfig? | |
|---|---|
| MCU, klasa μ | Nie teraz |
| Mniej zaawansowana funkcja MPU/procesor CPU w systemie Linux ² | Tak |
| Bardziej zaawansowane urządzenia w systemie Linux ³ | Tak |
| Urządzenia z systemem Windows IoT | Podobne możliwości wbudowana dokumentacja dostawcy CSP |
Μ Klasa MCU: w kontekście będą to urządzenia Arduino, urządzenia oparte na rp2040 itd. Te urządzenia zwykle uruchamiają scenariusz kodu bez systemu operacyjnego lub z mikroS, takim jak AzureRTOS lub FreeRTOS.
² Mniej wydajne jednostki MPU/klasy procesora CPU w/Linux: agent został zaprojektowany tak, aby był kompaktowy i wydajny, co umożliwia korzystanie z mniejszych urządzeń obsługujących system Linux.
³ Wydajniejsze obliczenia brzegowe w systemie Linux: jako wydajny składnik po stronie urządzenia agent OSConfig doskonale znajduje się w domu na bardziej zaawansowanych urządzeniach obliczeniowych brzegowych, takich jak zestawy NVidia Jetson.
"Urządzenia IoT" z systemem Linux a "urządzenia brzegowe" z systemem Linux
W ekosystemie usługi Azure IoT dla systemu Linux terminy urządzenie IoT a urządzenie usługi Edge są czasami używane do rozróżniania, czy urządzenie IoT Edge zainstalowane. Istnieje również luźna korelacja z klasą urządzeń (większe urządzenia mają tendencję do instalowania IoT Edge).
OSConfig działa w obu kontekstach. Może działać równolegle z IoT Edge, ale nie wymaga IoT Edge.
Co z wpisami tajnymi urządzeń i co z wieloma aplikacjami/agentami/modułami?
Zalecamy używanie aplikacji OSConfig razem z usługą Azure IoT Identity Service (AIS).
Sztuczna inteligencja to broker urządzeń firmy Microsoft do obsługi wpisów tajnych i uwierzytelniania. Sztuczna inteligencja sprawia, że wiele aplikacji, agentów i/lub modułów usługi Edge umożliwia udostępnianie jednej tożsamości urządzenia. W poniższych krokach pokazano, jak używać razem usług AIS i OSConfig.
Sztuczna inteligencja jest dostępna w wersji autonomicznej i jest również dostępna w IoT Edge 1.2 i nowszych. Podczas instalowania należy wziąć pod uwagę następujące kwestie.
| Czy zainstalować sztuczną inteligencję? | |
|---|---|
| Urządzenie nie ma IoT Edge (np. "urządzenie IoT") | Tak |
| Urządzenie ma IoT Edge 1.2 lub nowszą | Tak |
| Urządzenie ma IoT Edge 1.1 lub nowszą | Nr² |
IoT Edge 1.2 i nowsze obejmują składniki sztucznej inteligencji. Dla uproszczenia instrukcji poniższe kroki zawsze obejmują instalację sztucznej inteligencji. Takie podejście pozwala menedżerowi pakietów wykrywać, czy ten krok nie jest operacją, zamiast ponownie utworzyć tę logikę zewnętrznie.
² Nie instaluj sztucznej inteligencji na urządzeniach z systemem IoT Edge 1.1 lub niższym. Rozważ przejście do nowszej wersji IoT Edge. Jeśli nie chcesz uaktualnić IoT Edge, ale nadal chcesz eksplorować scenariusze konfiguracji systemu operacyjnego, rozważ wypróbowanie scenariuszy na innym urządzeniu lub maszynie wirtualnej na razie.
Zadanie 1. Instalowanie składników na urządzeniu
Dostępne są trzy opcje dopasowane do Twoich potrzeb:
- A. Instalowanie pakietów
- B. Kompilowanie ze źródła
- C. Korzystanie z urządzeń z wbudowanymi możliwościami
Wybierz preferowane środowisko poniżej, aby uzyskać instrukcje:
- A. Instalowanie pakietów (najpopularniejsze)
- B. Kompilowanie ze źródła (najbardziej elastyczne)
- C. Wbudowane (wersja zapoznawcza)
Gotowe pakiety instalacyjne są dostępne dla arm64 (aka aarch64), amd64 (aka x86_64) w:
- Debian 10
- Debian 11
- Ubuntu Server 18.04
- Ubuntu Server 20.04
Krok 1.1. Łączenie urządzenia z packages.microsoft.com
Poniższe przykładowe polecenia umożliwiają połączenie menedżera pakietów systemu operacyjnego ze stabilnym kanałem na packages.microsoft.com.
#!/bin/bash
## For Ubuntu and on Debian 10+
## Register packages.microsoft.com key and prod channel
sudo wget https://packages.microsoft.com/keys/microsoft.asc -O /etc/apt/trusted.gpg.d/packages-microsoft-com_key.asc
os_name=$(grep ^ID= /etc/os-release | tr -d "ID=")
os_version=$(grep ^VERSION_ID /etc/os-release | tr -d "VERSION_ID=")
sudo wget https://packages.microsoft.com/config/"$os_name"/"$os_version"/prod.list -O /etc/apt/sources.list.d/packages-microsoft-com_prod.list
sudo apt update
Porada
Powyższy przykład łączy menedżera pakietów z kanałem prod w packages.microsoft.com, który jest odpowiedni dla większości urządzeń i sytuacji. Aby uzyskać informacje o kompilacjach w wersji zapoznawczej, zobacz: Informacje o kompilacjach OSConfig (wersja zapoznawcza) lub "insiders"
Krok 1.2. Instalowanie pakietu AIS
Przestroga
Jak wspomniano powyżej, nie instaluj sztucznej inteligencji na urządzeniu z systemem IoT Edge 1.1 lub niższym. Sztuczna inteligencja jest przeznaczony dla urządzeń bez IoT Edge lub urządzeń z systemem IoT Edge 1.2 lub nowszym.
sudo apt-get install -y aziot-identity-service
Krok 1.3. Instalowanie pakietu OSConfig
sudo apt-get install -y osconfig
Jeśli obecnie instalujesz tylko składniki (na przykład przygotowanie obrazu podstawowego), które nie łączą się z platformą Azure, możesz zatrzymać się tutaj. Poniższe kroki zostaną wykonane później, być może przez klienta.
Zadanie 2. Nawiązywanie połączenia z usługą Azure
Teraz, gdy agent OSConfig i AIS są obecne na urządzeniu, następnym krokiem jest skonfigurowanie urządzenia przy użyciu tożsamości, aby mogło nawiązać połączenie z platformą Azure.
Porada
Niektóre urządzenia mogą mieć mechanizmy do wykonania w Twoim imieniu. Na przykład urządzenia azure Percept obejmują środowisko konfiguracji w celu nawiązania połączenia z urządzeniem.
Krok 2.1. Ustawianie poświadczeń urządzenia w usłudze AIS na urządzeniu
Usługa AIS obsługuje wiele scenariuszy wdrażania i metod uwierzytelniania.
W poniższym uproszczonym przykładzie użyto parametrów połączenia z kluczem symetrycznym. W przypadku scenariuszy produkcyjnych wybierz jedną z silniejszych opcji uwierzytelniania opisanych w temacie Configuring the Azure IoT Identity Service (Konfigurowanie usługi tożsamości Azure IoT).
Szybki przykład: nawiązywanie połączenia z kluczem symetrycznym
W witrynie Azure Portal:
- Przejdź do listy urządzeń IoT Hub
- Tworzenie tożsamości urządzenia w razie potrzeby
- Przejdź do właściwości urządzenia i skopiuj parametry połączenia
Na urządzeniu:
- Uruchom następujące polecenia, aby ustawić poświadczenie w usłudze AIS, zastępując symbol zastępczy parametrów połączenia własnymi.
sudo aziotctl config mp –-connection-string "<your connection string from IoT Hub>" sudo aziotctl config apply
Krok 2.2. Weryfikowanie pomyślnego połączenia z platformą Azure
Możesz sprawdzić, czy usługa AIS i program OSConfig łączą się z IoT Hub przy użyciu następujących poleceń na urządzeniu:
sudo aziotctl check
sudo systemctl status osconfig | grep Active
Dane wyjściowe aziotctl check polecenia powinny wskazywać wszystkie testy, które przechodzą.
Dane wyjściowe elementu systemctl status osconfig powinny zawierać wartość Active: active. W niektórych przypadkach może zostać wyświetlony Active: activating (auto-restart) komunikat, co oznacza, że systemd czeka na czasomierz, aby ponownie uruchomić usługę. Aby przejść obok tego natychmiast, zamiast czekać, uruchom polecenie sudo systemctl restart osconfig, a następnie spróbuj ponownie wykonać polecenie stanu.
Gotowe. Klient OSConfig jest teraz uruchomiony na urządzeniu.
Opcjonalne ustawienia agenta
Wiele osób może pominąć tę sekcję i po prostu użyć zachowań domyślnych. Jeśli masz ograniczenia dotyczące środowiska lub ładu, takie jak serwery proxy, ograniczenia zapory ruchu wychodzącego lub sieci warstwowe, zobacz następujące tematy:
wybór protokołu IoT Hub
Porada
Wybór protokołu został dodany do kanału prod/stable w wersji 1.0.2.2022040405. Upewnij się, że używasz najnowszej wersji prod/stable programu OSConfig.
Podczas komunikacji z IoT Hub agent OSConfig może używać zwykłego transportu telemetrii kolejkowania komunikatów (MQTT) lub może używać protokołu MQTT za pośrednictwem obiektów WebSocket (MQTT_WS).
Wiele osób nie musi określać protokołu i może po prostu używać zachowań domyślnych. Jeśli musisz określić protokół na podstawie jednego z następujących zagadnień, należy ustawić Protocol wartość w pliku /etc/osconfig/osconfig/osconfig.json.
| MQTT | MQTT_WS | |
|---|---|---|
| Port TCP ¹ | 8883 | 443 |
| Serwer proxy ² | Nie | Tak |
| brama IoT Edge (element nadrzędny/podrzędny) ³ |
Tak | Nie |
| Identyfikator protokołu aby ustawić w pliku osconfig.json |
1 | 2 |
¹ Odwołuje się do portu TCP używanego, gdy agent OSConfig na urządzeniu nawiązuje połączenie wychodzące z IoT Hub
² Odnosi się do tego, czy program OSConfig może jawnie używać serwera proxy HTTP (za pośrednictwem zmiennej środowiskowej https_proxy)
³ Odnosi się do scenariusza IoT Edge przezroczystej bramy, w którym konfiguracja systemu operacyjnego uruchomiona na urządzeniu podrzędnym łączy się z IoT Hub za pośrednictwem urządzenia nadrzędnego
Nawiązywanie połączenia za pośrednictwem serwera proxy HTTP
Jeśli środowisko wymaga, aby program OSConfig nawiązał połączenie z IoT Hub za pośrednictwem serwera proxy HTTP, zobacz następujące kwestie:
Porada
Obsługa serwera proxy została dodana do kanału prod/stable w wersji 1.0.2.2022040405. Ensure you are using the latest prod/stable version of OSConfig.
Jak wspomniano w IoT Hub wyboru protokołu, można używać tylko MQTT_WS z serwerem proxy HTTP. Aby aktywować MQTT_WS, upewnij się, że
Protocolwartość w pliku /etc/osconfig/osconfig.json jest ustawiona na2wartość .Upewnij się, że zmienna
https_proxyśrodowiskowa lubHTTPS_PROXYjest ustawiona w kontekście, w którym jest uruchamiana aplikacja OSConfig.Zazwyczaj administratorzy systemu lub konstruktorzy obrazów przekazują to, edytując pliki jednostek systemowych dla dowolnych usług (w tym OSConfig), które powinny używać serwera proxy.
Możesz na przykład dodać wiersz podobny do
Environment="https_proxy=http://myproxy.example.com:3128"
do[Service]części /etc/systemd/system/osconfig.service.
Pamiętaj, aby uruchomićsudo systemctl daemon-reloadpolecenie isudo systemctl restart osconfigpo edycji pliku.
Następne kroki
Teraz, gdy masz już urządzenie z programem OSConfig i połączonym z usługą Azure IoT, możesz wypróbować scenariusze zarządzania.
Aby zapoznać się z omówieniem scenariuszy i możliwości konfiguracji systemu operacyjnego, zobacz:
Aby zapoznać się z konkretnymi praktycznymi przykładami, zobacz: