Nasazení vysoce dostupného řešení MongoDB ve dvou Azure Stack Hub prostředí

Tento článek vás provede automatizovaným nasazením základního vysoce dostupného clusteru MongoDB s lokalitou zotavení po havárii (DR) mezi dvěma Azure Stack Hub prostředími. Další informace o MongoDB a vysoké dostupnosti najdete v tématu Členové sady replik.

V tomto řešení vytvoříte ukázkové prostředí pro:

  • Orchestrace nasazení napříč dvěma Azure Stack Hubs
  • Pomocí Dockeru minimalizujte problémy se závislostmi u profilů rozhraní Azure API.
  • Nasaďte základní vysoce dostupný cluster MongoDB s lokalitou pro zotavení po havárii.

Tip

Ikona hybridního tipu
Microsoft Azure Stack Hub je rozšíření Azure. Azure Stack Hub přináší flexibilitu a inovace cloud computing do místního prostředí a umožňuje jediný hybridní cloud, který umožňuje vytvářet a nasazovat hybridní aplikace kdekoli.

Článek Aspekty návrhu hybridních aplikací popisuje pilíře kvality softwaru (umístění, škálovatelnost, dostupnost, odolnost, možnosti správy a zabezpečení) pro navrhování, nasazování a provozování hybridních aplikací. Aspekty návrhu pomáhají optimalizovat návrh hybridních aplikací a minimalizují problémy v produkčních prostředích.

Architektura pro MongoDB s Azure Stack Hub

Diagram znázorňuje vysoce dostupnou architekturu MongoDB v Azure Stack Hub.

Požadavky pro MongoDB s Azure Stack Hub

  • Dva propojené Azure Stack Hub integrované systémy (Azure Stack Hub). Toto nasazení nefunguje na Azure Stack Development Kit (ASDK). Další informace o Azure Stack Hub najdete v tématu Co je Azure Stack Hub?
    • Předplatné tenanta na každé Azure Stack Hub.
    • Poznamenejte si každé ID předplatného a koncový Azure Resource Manager pro každý Azure Stack Hub.
  • Hlavní Azure Active Directory služby (Azure AD), který má oprávnění k předplatnému tenanta na každé Azure Stack Hub. Pokud jsou služba Azure Stack Hub nasazená v různých tenantech Azure AD, možná budete muset vytvořit dva objekty služby. Informace o tom, jak vytvořit objekt služby pro Azure Stack Hub, najdete v tématu Použití identity aplikace pro přístup k Azure Stack Hub prostředkům.
    • Poznamenejte si ID aplikace, tajný kód klienta a název tenanta každého objektu služby (xxxxx.onmicrosoft.com).
  • Ubuntu 16.04 syndikované pro Azure Stack Hub Marketplace. Další informace o syndikaci Marketplace najdete v tématu Stažení položek Marketplace do Azure Stack Hub.
  • Docker for Windows nainstalovaný na místním počítači.

Získání image Dockeru

Image Dockeru pro jednotlivá nasazení eliminují problémy se závislostmi mezi různými Azure PowerShell.

  1. Ujistěte se, že Docker pro Windows používá Windows kontejnery.

  2. Spuštěním následujícího příkazu na příkazovém řádku se zvýšenými oprávněními získejte kontejner Dockeru pomocí skriptů nasazení:

    docker pull intelligentedge/mongodb-hadr:1.0.0
    

Nasazení clusterů

  1. Po úspěšném načítání image kontejneru spusťte image:

    docker run -it intelligentedge/mongodb-hadr:1.0.0 powershell
    
  2. Po spuštění kontejneru budete mít v kontejneru terminál PowerShellu se zvýšenými oprávněními. Ke skriptu nasazení se dostanete tak, že změníte adresáře:

    cd .\MongoHADRDemo\
    
  3. Spusťte nasazení. V případě potřeby zadejte přihlašovací údaje a názvy prostředků. HA odkazuje na Azure Stack Hub, kde bude cluster s ha ha nasazen. Dr. odkazuje na Azure Stack Hub, kde se cluster pro dr. virtuální počítače nasadí:

    .\Deploy-AzureResourceGroup.ps1 `
    -AzureStackApplicationId_HA "applicationIDforHAServicePrincipal" `
    -AzureStackApplicationSercet_HA "clientSecretforHAServicePrincipal" `
    -AADTenantName_HA "hatenantname.onmicrosoft.com" `
    -AzureStackResourceGroup_HA "haresourcegroupname" `
    -AzureStackArmEndpoint_HA "https://management.haazurestack.com" `
    -AzureStackSubscriptionId_HA "haSubscriptionId" `
    -AzureStackApplicationId_DR "applicationIDforDRServicePrincipal" `
    -AzureStackApplicationSercet_DR "ClientSecretforDRServicePrincipal" `
    -AADTenantName_DR "drtenantname.onmicrosoft.com" `
    -AzureStackResourceGroup_DR "drresourcegroupname" `
    -AzureStackArmEndpoint_DR "https://management.drazurestack.com" `
    -AzureStackSubscriptionId_DR "drSubscriptionId"
    
  4. Zadejte a povolte instalaci poskytovatele NuGet, který povolí instalaci profilů rozhraní Y API 2018-03-01-hybrid.

  5. Prostředky s haše se nasadí jako první. Monitorujte nasazení a počkejte na jeho dokončení. Jakmile se zobrazí zpráva s oznámením, že nasazení s hasku je hotové, můžete na portálu služby Azure Stack Hub ha.com zkontrolovat nasazené prostředky.

  6. Pokračujte v nasazování prostředků pro dr. a rozhodněte se, jestli chcete na zařízení pro Azure Stack Hub s clusterem povolit jump box.

  7. Počkejte na dokončení nasazení prostředku pro dr.

  8. Po dokončení nasazení prostředku dr. ukončete kontejner:

    exit
    

Další kroky

  • Pokud jste virtuální počítač jump boxu povolili na virtuálním počítači pro Azure Stack Hub, můžete se připojit přes SSH a pracovat s clusterem MongoDB instalací rozhraní příkazového řádku Mongo. Další informace o interakci s MongoDB najdete v tématu Rozhraní Mongo Shell.
  • Další informace o hybridních cloudových aplikacích najdete v tématu Řešení hybridního cloudu..
  • Upravte kód na tuto ukázku na GitHub.