Sdílet prostřednictvím


Architektura služeb Akri

Důležité

Azure IoT Operations Preview – Služba Azure Arc je aktuálně ve verzi PREVIEW. Tento software ve verzi Preview byste neměli používat v produkčních prostředích.

Pokud je dostupná obecně dostupná verze, budete muset nasadit novou instalaci operací Azure IoT, nebudete moct upgradovat instalaci ve verzi Preview.

Právní podmínky, které platí pro funkce Azure, které jsou ve verzi beta, verzi Preview nebo které zatím nejsou veřejně dostupné, najdete v Dodatečných podmínkách použití pro Microsoft Azure verze Preview.

Tento článek vám pomůže pochopit architekturu služeb Akri. Jakmile se dozvíte o základních součástech služeb Akri, můžete je použít k detekci zařízení a prostředků a jejich přidání do clusteru Kubernetes.

Služby Akri jsou komerční verze Akri spravovaná Microsoftem, opensourcový projekt CLOUD Native Computing Foundation (CNCF).

Základní součásti

Služby Akri se skládají z následujících pěti součástí:

  • Konfigurace Akri je vlastní prostředek, ve kterém zařízení pojmenujete. Tato konfigurace říká službám Akri, jaké typy zařízení se mají hledat.
  • Instance Akri je vlastní prostředek, který sleduje dostupnost a využití zařízení. Každá instance Akri představuje zařízení typu list.
  • Obslužné rutiny zjišťování Akri hledají nakonfigurované zařízení a informují agenta o zjištěných zařízeních.
  • Agent Akri vytvoří vlastní prostředek instance Akri.
  • Kontroler Akri vám pomůže používat nakonfigurované zařízení. Kontroler uvidí každou instanci Akri a nasadí pod zprostředkovatele, který ví, jak se připojit k prostředku a použít ho.

Diagram architektury služeb Akri

Vlastní definice prostředků

Vlastní definice prostředků (CRD) je rozšíření rozhraní API Kubernetes, které umožňuje definovat nové typy objektů. Existují dvě crd služby Akri:

  • Konfigurace
  • Instance

CrD konfigurace Akri

Konfigurace CRD konfiguruje služby Akri. Vytvoříte konfigurace, které popisují prostředky, které se mají zjistit, a pod, který se má nasadit do uzlu, který prostředek zjistí. Další informace najdete v tématu CrD konfigurace Akri. Schéma CRD určuje nastavení, která musí mít všechna konfigurace, včetně následujících nastavení:

  • Protokol zjišťování pro hledání prostředků. Například ONVIF nebo udev.
  • spec.capacity definuje maximální počet uzlů, které můžou plánovat úlohy na tomto prostředku.
  • spec.brokerPodSpec definuje pod zprostředkovatele, který plánuje pro každý z těchto ohlášených prostředků.
  • spec.instanceServiceSpec definuje službu, která poskytuje jeden stabilní koncový bod pro přístup k sadě zprostředkovatelů jednotlivých prostředků.
  • spec.configurationServiceSpec definuje službu, která poskytuje jeden stabilní koncový bod pro přístup k sadě všech zprostředkovatelů pro všechny prostředky přidružené ke konfiguraci.

Akri instance CRD

Každá instance Akri představuje jednotlivý prostředek, který je viditelný pro cluster. Pokud je například v clusteru vidět pět IP kamer, existuje pět instancí. CrD instance umožňuje koordinaci služeb Akri a sdílení prostředků. Tyto instance ukládají interní stav a nejsou určené k úpravám. Další informace najdete v tématu Sdílení prostředků podrobně.

Agent

Agent Akri implementuje moduly plug-in Kubernetes Device-Plugin pro zjištěné prostředky. Agent Akri provádí následující úlohy:

  • Sleduje změny konfigurace, které určují prostředky, které se mají vyhledat.
  • Monitoruje dostupnost prostředků a zjišťuje, jaké prostředky se mají inzerovat. V hraničním prostředí se dostupnost prostředků často mění.
  • Informuje Kubernetes o jakýchkoli změnách stavu a dostupnosti prostředků.

Tyto úlohy v kombinaci se stavem uloženým v instanci umožňují více uzlům sdílet prostředek a současně respektovat limity definované spec.capacity nastavením.

Další informace najdete v tématu Agent podrobně.

Obslužné rutiny zjišťování

Obslužná rutina zjišťování najde zařízení. Mezi příklady zařízení patří:

  • Senzory USB připojené k uzlům.
  • Gpu vložená v uzlech
  • IP kamery v síti.

Obslužná rutina zjišťování hlásí agentovi všechna zjištěná zařízení. Často existují implementace protokolů pro zjišťování sady zařízení, ať už síťový protokol, jako je OPC UA nebo proprietární protokol. Obslužné rutiny zjišťování implementují službu definovanou DiscoveryHandler v discovery.proto. Obslužná rutina zjišťování je nutná k registraci u agenta, který hostuje službu definovanou Registration v discovery.proto.

Další informace najdete v tématu Vlastní obslužné rutiny zjišťování.

Ovladač

Cílem kontroleru Akri je:

  • Vytvořte nebo odstraňte pody a služby, které umožňují dostupnost prostředků.
  • Zajistěte, aby instance byly v daném okamžiku zarovnané ke stavu clusteru.

K dosažení těchto cílů kontroler:

  • Sleduje změny instancí, které určují, jaké pody a služby by měly existovat.
  • Sleduje uzly obsažené v instancích, které již neexistují.

Tyto úlohy umožňují kontroleru Akri zajistit, aby zprostředkovatelé protokolů a služby Kubernetes běžely na všech uzlech a vystavovaly požadované prostředky a současně respektovaly limity definované spec.capacity nastavením.

Další informace najdete v dokumentaci k podrobnému kontroleru.