Udostępnij za pośrednictwem


Architektura usługi Azure IoT Akri (wersja zapoznawcza)

Ważne

Usługa Azure IoT Operations Preview — włączona przez usługę Azure Arc jest obecnie dostępna w wersji zapoznawczej. Nie należy używać tego oprogramowania w wersji zapoznawczej w środowiskach produkcyjnych.

Zobacz Dodatkowe warunki użytkowania wersji zapoznawczych platformy Microsoft Azure, aby zapoznać się z postanowieniami prawnymi dotyczącymi funkcji platformy Azure, które są w wersji beta lub wersji zapoznawczej albo w inny sposób nie zostały jeszcze wydane jako ogólnie dostępne.

Ten artykuł ułatwia zrozumienie architektury usługi Azure IoT Akri (wersja zapoznawcza). Po zapoznaniu się z podstawowymi składnikami usługi Azure IoT Akri możesz użyć go do wykrywania urządzeń i zasobów oraz dodawania ich do klastra Kubernetes.

Azure IoT Akri to zarządzana przez firmę Microsoft komercyjna wersja Akri, projekt Open source Cloud Native Computing Foundation (CNCF).

Podstawowe składniki

Usługa Azure IoT Akri składa się z następujących pięciu składników:

  • Konfiguracja Akri to zasób niestandardowy, w którym nazywasz urządzenie. Ta konfiguracja informuje usługę Azure Iot Akri o tym, jakiego rodzaju urządzenia należy szukać.
  • Wystąpienie Akri to zasób niestandardowy, który śledzi dostępność i użycie urządzenia. Każde wystąpienie Akri reprezentuje urządzenie liścia.
  • Programy obsługi odnajdywania Akri szukają skonfigurowanego urządzenia i informują agenta o odnalezionych urządzeniach.
  • Agent Akri tworzy zasób niestandardowy wystąpienia Akri.
  • Kontroler Akri ułatwia korzystanie ze skonfigurowanego urządzenia. Kontroler widzi każde wystąpienie Akri i wdraża zasobnik brokera, który wie, jak nawiązać połączenie z zasobem i korzystać z niego.

Diagram architektury usługi Azure IoT Akri (wersja zapoznawcza).

Niestandardowe definicje zasobów

Niestandardowa definicja zasobu (CRD) to rozszerzenie interfejsu API Platformy Kubernetes, które umożliwia definiowanie nowych typów obiektów. Istnieją dwa dyski CRD usługi Azure IoT Akri:

  • Konfigurowanie
  • Wystąpienie

Konfiguracja Akri CRD

Konfiguracja CRD konfiguruje usługę Azure IoT Akri. Tworzysz konfiguracje opisujące zasoby do odnajdywania i zasobnika do wdrożenia w węźle, który odnajduje zasób. Aby dowiedzieć się więcej, zobacz Akri Configuration CRD (Konfiguracja Akri CRD). Schemat CRD określa ustawienia, które muszą mieć wszystkie konfiguracje, w tym następujące ustawienia:

  • Protokół odnajdywania do znajdowania zasobów. Na przykład ONVIF lub udev.
  • spec.capacity definiuje maksymalną liczbę węzłów, które mogą planować obciążenia w tym zasobie.
  • spec.brokerPodSpec który definiuje zasobnik brokera, aby zaplanować dla każdego z tych zgłoszonych zasobów.
  • spec.instanceServiceSpec definiujący usługę, która zapewnia pojedynczy stabilny punkt końcowy w celu uzyskania dostępu do zestawu zasobników brokera poszczególnych zasobów.
  • spec.configurationServiceSpec definiujący usługę, która zapewnia pojedynczy stabilny punkt końcowy w celu uzyskania dostępu do zestawu wszystkich brokerów dla wszystkich zasobów skojarzonych z konfiguracją.

Wystąpienie Akri CRD

Każde wystąpienie usługi Azure IoT Akri reprezentuje pojedynczy zasób widoczny dla klastra. Jeśli na przykład w klastrze jest widocznych pięć kamer IP, istnieje pięć wystąpień. Wystąpienie CRD umożliwia koordynację i udostępnianie zasobów usługi Azure IoT Akri. Te wystąpienia przechowują stan wewnętrzny i nie są przeznaczone do edycji. Aby dowiedzieć się więcej, zobacz Szczegółowe udostępnianie zasobów.

Agent

Agent Akri implementuje wtyczki Device-Plugins platformy Kubernetes dla odnalezionych zasobów. Agent Akri wykonuje następujące zadania:

  • Wyszukuje zmiany konfiguracji w celu określenia zasobów do wyszukania.
  • Monitoruje dostępność zasobów, aby określić, jakie zasoby mają być anonsowane. W środowisku brzegowym często zmienia się dostępność zasobów.
  • Informuje platformę Kubernetes o wszelkich zmianach dotyczących kondycji zasobów i dostępności.

Te zadania, w połączeniu ze stanem przechowywanym w wystąpieniu, umożliwiają wielu węzłom współużytkowanie zasobu przy jednoczesnym przestrzeganiu spec.capacity limitów zdefiniowanych przez ustawienie.

Aby dowiedzieć się więcej, zobacz Szczegółowe informacje o agencie.

Programy obsługi odnajdywania

Program obsługi odnajdywania znajduje urządzenia. Przykłady urządzeń to:

  • Czujniki USB podłączone do węzłów.
  • Procesory GPU osadzone w węzłach.
  • Kamery IP w sieci.

Program obsługi odnajdywania zgłasza wszystkie odnalezione urządzenia agentowi. Często istnieją implementacje protokołów do odnajdywania zestawu urządzeń, niezależnie od tego, czy protokół sieciowy, taki jak OPC UA, czy zastrzeżony protokół. Programy obsługi odnajdywania implementują usługę zdefiniowaną DiscoveryHandler w pliku discovery.proto. Procedura obsługi odnajdywania jest wymagana do zarejestrowania się w agencie, który hostuje usługę zdefiniowaną Registration w programie discovery.proto.

Aby dowiedzieć się więcej, zobacz Programy obsługi odnajdywania niestandardowego.

Kontroler

Cele kontrolera Akri to:

  • Utwórz lub usuń zasobniki i usługi, które umożliwiają dostępność zasobów.
  • Upewnij się, że wystąpienia są wyrównane do stanu klastra w danym momencie.

Aby osiągnąć te cele, kontroler:

  • Należy zwrócić uwagę na zmiany wystąpień, aby określić, jakie zasobniki i usługi powinny istnieć.
  • Obserwuje węzły, które znajdują się w wystąpieniach, które już nie istnieją.

Te zadania umożliwiają kontrolerowi Akri zapewnienie, że brokerzy protokołów i usługi Kubernetes są uruchomione na wszystkich węzłach i uwidaczniają żądane zasoby, jednocześnie przestrzegając limitów zdefiniowanych przez spec.capacity ustawienie.

Aby uzyskać więcej informacji, zobacz dokumentację dotyczącą szczegółowego kontrolera.