Sdílet prostřednictvím


Integrované místní zprostředkovatele MQTT operací Azure IoT

Důležité

Tato stránka obsahuje pokyny ke správě komponent operací Azure IoT pomocí manifestů nasazení Kubernetes, které jsou ve verzi Preview. Tato funkce je poskytována s několika omezeními a neměla by se používat pro produkční úlohy.

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.

Operace Azure IoT nabízí zprostředkovatele MQTT, který je na podnikové úrovni a vyhovuje standardům. Zprostředkovatel MQTT je škálovatelný, vysoce dostupný a nativní pro Kubernetes. Poskytuje rovinu zasílání zpráv pro operace IoT, umožňuje obousměrnou komunikaci hraničních a cloudových zařízení a zajišťuje aplikace řízené událostmi na hraničních zařízeních.

Dodržování předpisů MQTT

MQTT se objevil jako běžný jazyk, který se používá mezi protokoly v prostoru IoT. Jednoduchý návrh MQTT umožňuje jednomu zprostředkovateli obsluhovat desítky tisíc klientů současně s jednoduchým vytvářením a správou témat publikování a odběru. Řada zařízení IoT nativně podporuje MQTT. Podřízené brány překladu racionalizují dlouhý konec protokolů IoT do MQTT.

Zprostředkovatel MQTT podporuje vrstvu zasílání zpráv v operacích IoT a podporuje MQTT v3.1.1 i MQTT v5. Další informace o podporovaných funkcích MQTT najdete v tématu Podpora funkcí MQTT ve zprostředkovateli MQTT.

Architektura

Zprostředkovatel MQTT má dvě hlavní vrstvy:

  • Bezstavová front-endová vrstva
  • Stavová a horizontálně dělená back-endová vrstva

Front-endová vrstva zpracovává připojení a požadavky klientů a směruje je do back-endu. Back-endová vrstva rozděluje data podle různých klíčů, například ID klienta pro relace klienta a název tématu pro zprávy tématu. Používá řetězovou replikaci k replikaci dat v rámci každého oddílu.

Cílem architektury je:

  • Odolnost proti chybám a izolace: Publikování zpráv pokračuje, pokud back-endové pody selžou a brání selháním v šíření do zbytku systému.
  • Obnovení selhání: Automatické obnovení selhání bez zásahu operátora.
  • Žádná ztráta zpráv: Doručení zpráv, pokud alespoň jeden front-endový pod a jeden back-endový pod v oddílu běží.
  • Elastické škálování: Horizontální škálování publikování a přihlášení k odběru propustnosti pro podporu hraničních a cloudových nasazení
  • Konzistentní výkon ve velkém měřítku: Omezte režii na latenci zpráv kvůli řetězové replikaci.
  • Jednoduchost provozu: Minimální závislost na externích komponentách kvůli zjednodušení údržby a složitosti.

Konfigurace

Pro konfiguraci se zprostředkovatel MQTT skládá z několika vlastních prostředků Kubernetes, které definují různé aspekty chování a funkčnosti zprostředkovatele:

  • Hlavním prostředkem je Broker, který definuje globální nastavení, jako je kardinalita, profil využití paměti a nastavení diagnostiky.
  • Prostředek zprostředkovatele může mít až tři BrokerListeners, z nichž každý naslouchá příchozím připojením MQTT na zadaném typu služby (NodePort, LoadBalancernebo ClusterIP). Každý prostředek BrokerListener může mít více portů.
  • Každý port v rámci prostředku BrokerListener může být přidružený k prostředku BrokerAuthentication a prostředku BrokerAuthorization. Tyto zásady ověřování a autorizace určují, kteří klienti se můžou připojit k portu a jaké akce můžou u zprostředkovatele provádět.

Vztah mezi zprostředkovatelem a BrokerListener je 1:N. Vztah mezi BrokerListener a BrokerAuthentication/BrokerAuthorization je M:N. Diagram vztahů entit pro tyto prostředky:

Diagram znázorňující model prostředků zprostředkovatele

Operace IoT ve výchozím nastavení nasadí výchozí zprostředkovatele, výchozí BrokerListener a výchozí BrokerAuthentication. Všechny tyto prostředky jsou pojmenované jako výchozí. Tyto prostředky společně poskytují základní nastavení zprostředkovatele MQTT potřebné pro fungování operací IoT. Výchozí nastavení je:

Diagram znázorňující výchozí prostředky zprostředkovatele a vztahy mezi nimi

Důležité

Pokud chcete zabránit neúmyslnému přerušení komunikace mezi interními komponentami operací IoT, doporučujeme neupravovat žádnou výchozí konfiguraci.

Pokud chcete přizpůsobit nasazení zprostředkovatele MQTT, přidejte do výchozího zprostředkovatele nové prostředky, jako jsou BrokerListeners, BrokerAuthentication a BrokerAuthorization.

Samotný prostředek zprostředkovatele je neměnný a po nasazení není možné ho upravovat, ale v pokročilých scénářích potřebuje pouze přizpůsobení. Další informace o přizpůsobení prostředku zprostředkovatele najdete v tématu Přizpůsobení výchozího zprostředkovatele.

V úplném nasazení můžete mít více BrokerListeners, z nichž každý má více portů a každý port může mít přidružené jiné prostředky BrokerAuthentication a BrokerAuthorization.

Například od výchozího nastavení přidáte:

  • LoadBalancer BrokerListener s názvem example-lb-listener, se dvěma porty 1883 a 8883.
  • NodePort BrokerListener s názvem example-nodeport-listener s jedním portem 1884 (nodePort 31884).
  • Prostředek BrokerAuthentication s názvem example-authn s vlastní metodou ověřování.
  • Prostředek BrokerAuthorization s názvem example-authz s vlastním nastavením autorizace.

Pokud pak nakonfigurujete všechny nové porty pomocí stejných prostředků BrokerAuthentication a BrokerAuthorization, bude nastavení vypadat takto:

Diagram znázorňující úplné vlastní nasazení zprostředkovatele a vztahy mezi nimi

Tímto způsobem ponecháte výchozí nastavení beze změny a přidáte nové prostředky, které přizpůsobí nasazení zprostředkovatele MQTT vašim potřebám.

Výchozí prostředek zprostředkovatele

Každé nasazení operací IoT může mít jenom jednoho zprostředkovatele a musí mít název výchozí. Pro fungování operací IoT se vyžaduje výchozí prostředek zprostředkovatele. Je neměnný a po nasazení není možné ho změnit.

Upozornění

Neodstraňovat výchozí prostředek zprostředkovatele. Tím dojde k narušení komunikace mezi interními komponentami operací IoT a nasazení přestane fungovat.

Přizpůsobení výchozího zprostředkovatele

Přizpůsobení výchozího prostředku zprostředkovatele se pro většinu nastavení nevyžaduje. Mezi nastavení, která vyžadují přizpůsobení, patří:

  • Kardinalita: Určuje kapacitu zprostředkovatele pro zpracování více připojení a zpráv a zvyšuje vysokou dostupnost v případě selhání podu nebo uzlů.
  • Profil paměti: Nastaví maximální využití paměti zprostředkovatele a způsob zpracování využití paměti při vertikálním navýšení kapacity zprostředkovatele.
  • Vyrovnávací paměť zpráv na disku: Konfigurace pro ukládání zpráv do vyrovnávací paměti na disk při vyplňování paměti RAM.
  • Nastavení diagnostiky: Konfigurace pro nastavení diagnostiky, jako je úroveň protokolu a koncový bod metrik.
  • Pokročilé možnosti klienta MQTT: Konfigurace pokročilých možností klienta MQTT, jako je vypršení platnosti relace, vypršení platnosti zpráv a nastavení zachování stavu.
  • Šifrování interního provozu: Konfigurace pro šifrování interního provozu mezi front-endem zprostředkovatele a back-endovými pody.

Výchozího zprostředkovatele můžete přizpůsobit pouze během počáteční doby nasazení pomocí Azure CLI nebo webu Azure Portal. Pokud potřebujete jiné nastavení konfigurace zprostředkovatele, vyžaduje se nové nasazení.

Přizpůsobení výchozího zprostředkovatele během nasazování:

Když budete postupovat podle průvodce nasazením operací IoT, v části Konfigurace se podívejte do konfigurace zprostředkovatele MQTT. Tady můžete přizpůsobit nastavení kardinality a profilu paměti. Pokud chcete nakonfigurovat další nastavení, včetně vyrovnávací paměti zpráv na disku a pokročilých možností klienta MQTT, použijte Azure CLI.

Zobrazení výchozího nastavení zprostředkovatele

Zobrazení nastavení výchozího zprostředkovatele:

  1. Na webu Azure Portal přejděte do vaší instance ioT Operations.
  2. V části Součásti vyberte Zprostředkovatele MQTT.
  3. V části Podrobnosti zprostředkovatele vyberte zobrazení JSON.