Rychlý start: Nasazení kontejnerů Linuxu do Service Fabric
Azure Service Fabric je platforma distribuovaných systémů pro nasazování a správu škálovatelných a spolehlivých mikroslužeb a kontejnerů.
Tento rychlý start ukazuje, jak nasadit kontejnery Linuxu do Service Fabric clusteru v Azure. Jakmile budete hotovi, budete mít hlasovací aplikaci skládající se z webového front-endu v Pythonu a back-endu Redis spuštěného v clusteru Service Fabric. Zjistíte také, jak převzít služby při selhání aplikace a jak škálovat aplikaci v clusteru.

Požadavky
K provedení kroků v tomto kurzu Rychlý start je potřeba:
Pokud ještě nemáte předplatné, vytvořte si bezplatný účet Azure ještě před tím, než začnete.
Instalace Azure CLI
Instalace sady SERVICE FABRIC SDK a rozhraní příkazového řádku
Instalace Gitu
Získání balíčku aplikace
K nasazení kontejnerů do Service Fabric potřebujete sadu souborů manifestu (definice aplikace), které popisují jednotlivé kontejnery a aplikaci.
V konzole naklonovat kopii definice aplikace pomocí gitu. pak změňte adresáře na Voting adresář ve vašem klonu.
git clone https://github.com/Azure-Samples/service-fabric-containers.git
cd service-fabric-containers/Linux/container-tutorial/Voting
Vytvoření clusteru Service Fabric
Pokud chcete nasadit aplikaci do Azure, potřebujete cluster Service Fabric, ve kterém bude aplikace spuštěná. Následující příkazy vytvoří v Azure cluster s pěti uzly. Příkazy také vytvoří certifikát podepsaný svým držitelem, přičtou ho do trezoru klíčů a stáhne certifikát místně. Nový certifikát se používá k zabezpečení clusteru při nasazení a slouží k ověřování klientů.
#!/bin/bash
# Variables
ResourceGroupName='containertestcluster'
ClusterName='containertestcluster'
Location='eastus'
Password='q6D7nN%6ck@6'
Subject='containertestcluster.eastus.cloudapp.azure.com'
VaultName='containertestvault'
VmPassword='Mypa$$word!321'
VmUserName='sfadminuser'
# Login to Azure and set the subscription
az login
az account set --subscription <mySubscriptionID>
# Create resource group
az group create --name $ResourceGroupName --location $Location
# Create secure five node Linux cluster. Creates a key vault in a resource group
# and creates a certificate in the key vault. The certificate's subject name must match
# the domain that you use to access the Service Fabric cluster. The certificate is downloaded locally.
az sf cluster create --resource-group $ResourceGroupName --location $Location --certificate-output-folder . --certificate-password $Password --certificate-subject-name $Subject --cluster-name $ClusterName --cluster-size 5 --os UbuntuServer1604 --vault-name $VaultName --vault-resource-group $ResourceGroupName --vm-password $VmPassword --vm-user-name $VmUserName
Poznámka
Webová front-end služba je nakonfigurovaná k naslouchání příchozímu provozu na portu 80. Ve výchozím nastavení je na virtuálních počítači clusteru a nástroji pro vyrovnávání zatížení Azure otevřený port 80.
Konfigurace prostředí
Service Fabric poskytuje několik nástrojů, pomocí kterých můžete spravovat cluster a jeho aplikace:
- Nástroj v prohlížeči Service Fabric Explorer.
- Rozhraní příkazového řádku (CLI) Service Fabric, které se spouští nad Azure CLI.
- Příkazy PowerShellu.
V tomto rychlém startu použijete Service Fabric CLI a Service Fabric Explorer (webový nástroj). Pokud chcete Service Fabric Explorer, musíte do prohlížeče importovat soubor PFX certifikátu. Ve výchozím nastavení nemá soubor PFX žádné heslo.
Mozilla Firefox je výchozím prohlížečem v Ubuntu 16.04. Pokud chcete certifikát importovat do prohlížeče Firefox, klikněte na tlačítko nabídky v pravém horním rohu prohlížeče a pak klikněte na Možnosti. Na stránce Předvolby pomocí vyhledávacího pole vyhledejte „certifikáty“. Klikněte na Zobrazit certifikáty, vyberte kartu Osobní, klikněte na Importovat a podle zobrazených výzev importujte certifikát.

Nasazení aplikace Service Fabric
Připojení k Service Fabric clusteru v Azure pomocí rozhraní příkazového řádku. Koncový bod je koncový bod správy vašeho clusteru. Soubor PEM jste vytvořili v předchozí části.
sfctl cluster select --endpoint https://containertestcluster.eastus.cloudapp.azure.com:19080 --pem containertestcluster22019013100.pem --no-verifyPomocí instalačního skriptu zkopírujte definici hlasovací aplikace do clusteru, zaregistrujte typ aplikace a vytvořte její instanci. Soubor certifikátu PEM by měl být umístěný ve stejném adresáři jako install.sh souboru.
./install.shOtevřete webový prohlížeč a přejděte na koncový bod Service Fabric Exploreru pro váš cluster. Koncový bod má následující formát: https:// <my-azure-service-fabric-cluster-url> :19080/Explorer, například
https://containertestcluster.eastus.cloudapp.azure.com:19080/Explorer.Rozbalte uzel Aplikace, abyste viděli, že teď existuje položka pro typ hlasovací aplikace a instanci, kterou jste vytvořili.

Pokud se chcete připojit ke spuštěnému kontejneru, otevřete webový prohlížeč a přejděte na adresu URL vašeho clusteru, například
http://containertestcluster.eastus.cloudapp.azure.com:80. V prohlížeči by se měla zobrazit hlasovací aplikace.
Poznámka
Aplikace Service Fabric můžete nasazovat také pomocí Docker Compose. K nasazení a instalaci aplikace v clusteru pomocí Docker Compose můžete použít například následující příkaz.
sfctl compose create --deployment-name TestApp --file-path ../docker-compose.yml
Převzetí služeb při selhání kontejneru v clusteru
Service Fabric zajišťuje v případě selhání automatický přesun instancí kontejneru do jiných uzlů clusteru. Kontejnery můžete z uzlu také ručně vyprázdnit a řádně je přesunout do jiných uzlů v clusteru. Service Fabric poskytuje několik způsobů škálování služeb. V následujících krocích použijete Service Fabric Explorer.
Pokud chcete převzít služby při selhání front-end kontejneru, proveďte následující kroky:
Otevřete ve vašem clusteru Service Fabric Explorer – například
https://containertestcluster.eastus.cloudapp.azure.com:19080/Explorer.Ve stromovém zobrazení klikněte na uzel fabric:/Voting/azurevotefront a rozbalte uzel oddílu (reprezentovaný identifikátorem GUID). Všimněte si názvu uzlu ve stromovém zobrazení, které zobrazuje uzly, na kterých je kontejner právě spuštěný – například
_nodetype_1.Ve stromovém zobrazení rozbalte uzel Uzly. Klikněte na tři tečky (...) vedle uzlu, na kterém je kontejner spuštěný.
Pokud chcete tento uzel restartovat, zvolte Restartovat a potvrďte akci restartování. Restartování způsobí převzetí služeb při selhání kontejneru do jiného uzlu v clusteru.

Škálování aplikací a služeb v clusteru
Služby Service Fabric je možné snadno škálovat napříč clusterem a vyřešit tak jejich zatížení. Služby se škálují změnou počtu instancí spuštěných v clusteru.
Pokud chcete škálovat webovou front-end službu, proveďte následující kroky:
Otevřete ve vašem clusteru Service Fabric Explorer – například
https://containertestcluster.eastus.cloudapp.azure.com:19080.Ve stromovém zobrazení klikněte na tři tečky (...) vedle uzlu fabric:/Voting/azurevotefront a zvolte Škálovat službu.

Teď můžete škálovat počet instancí webové front-end služby.
Změňte počet na 2 a klikněte na Škálovat službu.
Ve stromovém zobrazení klikněte na uzel fabric:/Voting/azurevotefront a rozbalte uzel oddílu (reprezentovaný identifikátorem GUID).

Teď je vidět, že má služba dvě instance. Ve stromovém zobrazení vidíte, na kterých uzlech jsou instance spuštěné.
Touto jednoduchou úlohou správy jste zdvojnásobili prostředky, které má front-end služba k dispozici pro zpracování uživatelské zátěže. Je důležité si uvědomit, že pro spolehlivý provoz služby nepotřebujete více jejích instancí. Pokud služba selže, Service Fabric zajistí v clusteru spuštění nové instance služby.
Vyčištění prostředků
Pomocí odinstalačního skriptu (uninstall.sh), který je součástí šablony, odstraňte instanci aplikace z clusteru a zrušte registraci typu aplikace. Vyčištění instance tímto skriptem nějakou dobu trvá, proto byste instalační skript neměli spouštět ihned po tomto skriptu. Pomocí Service Fabric Exploreru můžete určit, kdy došlo k odebrání instance a zrušení registrace typu aplikace.
./uninstall.sh
Nejjednodušší způsob, jak odstranit cluster a všechny prostředky, které využívá, je odstranit příslušnou skupinu prostředků.
Přihlaste se k Azure a vyberte ID předplatného, se kterým chcete cluster odebrat. Své ID předplatného můžete zjistit po přihlášení k webu Azure Portal. Odstraňte skupinu prostředků a všechny prostředky clusteru pomocí příkazu az group delete.
az login
az account set --subscription <guid>
ResourceGroupName="containertestcluster"
az group delete --name $ResourceGroupName
Pokud už jste dokončili práci se svým clusterem, můžete odebrat certifikát ze svého úložiště certifikátů. Například:
- Windows: Použijte modul snap-in Certifikáty v konzole MMC. Při přidávání modulu snap-in nezapomeňte vybrat možnost Můj uživatelský účet. Přejděte do umístění
Certificates - Current User\Personal\Certificatesa odeberte certifikát. - Mac: Použijte aplikaci Klíčenka.
- Ubuntu: Postupujte podle kroků, pomocí kterých jste zobrazili certifikáty a odebrali certifikát.
Další kroky
V tomto rychlém startu jste nasadili aplikaci typu kontejner pro Linux do clusteru Service Fabric v Azure, provedli jste převzetí služeb při selhání aplikace a škálovali jste aplikaci v clusteru. Další informace o práci s kontejnery Linuxu v Service Fabric najdete v kurzu věnovaném aplikacím typu kontejner pro Linux.