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.
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.