Nasazení clusteru MongoDB ve službě Azure Kubernetes Service (AKS)

Tento článek vás provede požadovanými informacemi o nasazení clusteru MongoDB ve službě Azure Kubernetes Service (AKS). Poskytuje také přehled strategie nasazení.

Důležité

Opensourcový software je zmíněn v dokumentaci a ukázkách AKS. Software, který nasadíte, je vyloučený ze smluv o úrovni služeb AKS, omezené záruky a podpora Azure. Při používání opensourcových technologií společně s AKS se obraťte na možnosti podpory, které jsou k dispozici v příslušných komunitách a správci projektů, a vytvořte plán.

Microsoft zodpovídá za vytváření opensourcových balíčků, které nasazujeme v AKS. Tato odpovědnost zahrnuje úplné vlastnictví procesu sestavení, skenování, podepisování, ověřování a oprav hotfix, společně s kontrolou nad binárními soubory v kontejnerových image. Další informace najdete v tématu Správa ohrožení zabezpečení pro AKS a Pokrytí podpory AKS.

Co je MongoDB?

MongoDB je oblíbený systém pro správu databází NoSQL, který je navržený tak, aby zpracovával velké objemy nestrukturovaných dat. Na rozdíl od tradičních relačních databází, které používají tabulky a řádky, používá MongoDB flexibilní přístup orientovaný na dokumenty.

Poznámka:

MongoDB Community Edition není opensourcový software. Je licencovaná v rámci veřejné licence na straně serveru s "dostupným zdrojem".

Horizontálně dělený cluster MongoDB

Shardovaný cluster MongoDB zpracovává velké datové sady a vysokou propustnost tím, že distribuuje data mezi více serverů nebo shardů. Tato architektura umožňuje horizontální škálování, což je nezbytné pro aplikace, které mají rostoucí požadavky na data a výkon.

Tady je rozpis klíčových součástí a jeho fungování:

  • Horizontální oddíly: Jednotlivé instance MongoDB označované jako horizontální oddíly uchovávají podmnožinu dat. Každý shard je sada replik nebo skupina instancí MongoDB, která replikují data mezi sebou. Sady replik pomáhají zajistit vysokou dostupnost a odolnost proti chybám.
  • Konfigurační servery: Servery, které ukládají metadata a nastavení konfigurace pro horizontálně dělený cluster, se nazývají konfigurační servery. Sledují distribuci dat a informace o směrování clusteru. Cluster má obvykle tři konfigurační servery pro zajištění redundance.
  • Instance Mongos: Mongos je směrovací služba, která směruje požadavky klientů na příslušný shard. Funguje jako zprostředkovatel mezi klientem a shardy. Instance Mongos spravuje směrování dotazů a agreguje výsledky ze shardů.
  • Shardový klíč: Když se data distribuují mezi shardy, je to založené na shardovém klíči, což je buď jedno indexované pole, nebo více polí v dokumentech. Klíč fragmentace určuje způsob rozdělení dat mezi fragmenty. Dobře zvolený klíč horizontálního dělení pomáhá zajistit rovnoměrnou distribuci dat a efektivní dotazování.
  • Distribuce dat: Data jsou distribuována napříč shardy na základě klíče shardů. Tato distribuce pomáhá efektivně vyrovnávat zatížení a spravovat velké datové sady. MongoDB používá shardování na základě rozsahu nebo hashování v závislosti na shardovacím klíči.
  • Vysoká dostupnost: Každý díl je sada replik, což znamená, že replikuje svá data napříč několika uzly. Toto nastavení zajistí, že data zůstanou dostupná i v případě, že jeden nebo více uzlů selže.

Operátor Percona pro MongoDB

Operátor Percona pro MongoDB je opensourcový nástroj, který percona vyvinul. Automatizuje nasazení, správu a škálování clusterů MongoDB v prostředích Kubernetes. Zjednodušuje operace tím, že zpracovává úlohy, jako je zřizování, škálování, zálohování a obnovení. Jeho zpracování všech těchto úloh pomáhá zajistit vysokou dostupnost a výkon clusterů MongoDB.

Operátor používá vlastní definice prostředků Kubernetes (CRD) ke správě konfigurací MongoDB deklarativním způsobem a ke zpracování služeb při selhání, monitorování a výstrahy. Výsledkem je snížení administrativní režie a konzistentní postupy správy. Operátor Percona zvyšuje efektivitu a spolehlivost nasazení MongoDB, zejména v aplikacích nativních pro cloud. Je ideální pro vývoj, testování a produkční scénáře.

Diagram znázorňující vztah operátora Percona ke clusteru MongoDB

Přehled řešení MongoDB

Cílem navrhovaného řešení je:

  • Ujistěte se, že cluster MongoDB dokáže efektivně zpracovávat velké datové sady a operace s vysokou propustností.
  • Udržujte vysokou dostupnost a odolnost proti chybám.

Toto řešení toho dosahuje využitím sad replik, pravidel anti-affinity a správného přidělování prostředků.

Strategie nasazení

Strategie nasazení MongoDB se skládá z následujících komponent:

  • Cluster s dělenými částmi umožňující distribuci dat napříč několika oddíly, což zlepšuje škálovatelnost a výkon.
  • Konfigurační servery spravované sadou tříčlenných replik pomáhají zajistit odolnost proti chybám a vysokou dostupnost. Antispřahové pravidla rozdělují tyto servery mezi domény selhání.
  • Tři instance Mongos distribuované napříč zónami dostupnosti a interně zveřejněné v rámci clusteru. Poskytují vyrovnávání zatížení a odolnost pro směrování požadavků klientů.

Přispěvatelé

Microsoft udržuje tento článek. Následující přispěvatelé ho původně napsali:

  • Ketan Chawda | Vedoucí zákaznický inženýr
  • Naveed Kharadi | Technik zákaznického prostředí
  • Nelly Kiboi | Servisní technik
  • Saverio Proto | Hlavní technik zákaznického prostředí
  • Don High | Hlavní zákaznický inženýr
  • LaBrina Loving | Hlavní servisní inženýr
  • Ken Kilty | Hlavní technický programový manažer
  • Russell de Pina | Vedoucí TPM
  • Colin Mixon | Product Manager
  • Erin Schaffer | Content Developer 2
  • Carol Smith | Vedoucí vývojář obsahu

Další krok