Sdílet prostřednictvím


Model prostředků aplikace Service Fabric

V clusteru Service Fabric máte několik možností nasazení aplikací Azure Service Fabric. Doporučujeme používat Azure Resource Manager. Pokud používáte Resource Manager, můžete popsat aplikace a služby ve formátu JSON a pak je nasadit ve stejné šabloně Resource Manageru jako váš cluster. Na rozdíl od použití PowerShellu nebo Azure CLI k nasazení a správě aplikací nemusíte čekat, až bude cluster připravený. Registrace, zřizování a nasazení aplikací se můžou provádět v jednom kroku. Použití Resource Manageru je nejlepší způsob, jak spravovat životní cyklus aplikace v clusteru. Další informace najdete v tématu Osvědčené postupy: Infrastruktura jako kód.

Správa aplikací jako prostředků v Resource Manageru vám může pomoct získat vylepšení v těchto oblastech:

  • Záznam auditu: Resource Manager provede audit každé operace a uchovává podrobný protokol aktivit. Protokol aktivit vám může pomoct trasovat všechny změny aplikací a clusteru.
  • Řízení přístupu na základě role: Přístup ke clusterům a aplikacím nasazeným v clusteru můžete spravovat pomocí stejné šablony Resource Manageru.
  • Efektivita správy: Použití Resource Manageru poskytuje jedno umístění (Azure Portal) pro správu clusteru a důležitých nasazení aplikací.

V tomto dokumentu se naučíte:

  • Nasaďte prostředky aplikace pomocí Resource Manageru.
  • Upgradujte prostředky aplikace pomocí Resource Manageru.
  • Odstraňte prostředky aplikace.

Nasazení prostředků aplikace

Základní kroky, které provedete při nasazování aplikace a jejích služeb pomocí modelu prostředků aplikace Resource Manager, jsou:

  1. Zabalte kód aplikace.
  2. Nahrajte balíček.
  3. Odkazujte na umístění balíčku v šabloně Resource Manageru jako prostředek aplikace.

Další informace najdete v tématu Balíček aplikace.

Pak vytvoříte šablonu Resource Manageru, aktualizujete soubor parametrů podrobnostmi aplikace a nasadíte šablonu do clusteru Service Fabric. Prozkoumejte ukázky.

Vytvoření účtu úložiště

Pokud chcete nasadit aplikaci ze šablony Resource Manageru, musíte mít účet úložiště. Účet úložiště slouží k vytvoření image aplikace.

Můžete znovu použít existující účet úložiště nebo můžete vytvořit nový účet úložiště pro přípravu aplikací. Pokud používáte existující účet úložiště, můžete tento krok přeskočit.

Vytvoření účtu úložiště

Konfigurace účtu úložiště

Po vytvoření účtu úložiště vytvoříte kontejner objektů blob, ve kterém se dají aplikace vytvořit. Na webu Azure Portal přejděte do účtu Azure Storage, do kterého chcete ukládat své aplikace. Vyberte Přidat kontejner objektů blob>.

Prostředky ve vašem clusteru je možné zabezpečit nastavením úrovně veřejného přístupu na privátní. Přístup můžete udělit několika způsoby:

Příklad na následujícím snímku obrazovky používá anonymní přístup pro čtení pro objekty blob.

Vytvoření objektu blob

Příprava aplikace v účtu úložiště

Než budete moct nasadit aplikaci, musíte ji rozfázovat v úložišti objektů blob. V tomto kurzu vytvoříme balíček aplikace ručně. Mějte na paměti, že tento krok je možné automatizovat. Další informace naleznete v tématu Zabalení aplikace.

V tomto kurzu použijeme ukázkovou aplikaci Voting.

  1. V sadě Visual Studio klikněte pravým tlačítkem myši na projekt Voting a pak vyberte Balíček.

    Zabalená aplikace

  2. Přejděte do adresáře .\service-fabric-dotnet-quickstart\Voting\pkg\Debug . Zazipujte obsah do souboru s názvem Voting.zip. Soubor ApplicationManifest.xml by měl být v kořenovém adresáři v souboru ZIP.

    Zip Application

  3. Přejmenujte soubor tak, aby změnil příponu z .zip na .sfpkg.

  4. Na webu Azure Portal v kontejneru aplikací pro váš účet úložiště vyberte Nahrát a pak nahrajte Voting.sfpkg.

    Nahrání balíčku aplikace

Teď je aplikace připravená a můžete vytvořit šablonu Resource Manageru pro nasazení aplikace.

Vytvoření šablony Resource Manageru

Ukázková aplikace obsahuje šablony Azure Resource Manageru, které můžete použít k nasazení aplikace. Názvy souborů šablon jsou UserApp.json a UserApp.Parameters.json.

Poznámka:

Soubor UserApp.Parameters.json se musí aktualizovat názvem vašeho clusteru.

Parametr Popis Příklad Komentáře
clusterName Název clusteru, do který nasazujete sf-cluster123
aplikace Název aplikace Hlasování
applicationTypeName Název typu aplikace VotingType Musí odpovídat ApplicationManifest.xml
applicationTypeVersion Verze typu aplikace 1.0.0 Musí odpovídat ApplicationManifest.xml
serviceName Název služby Voting~VotingWeb Musí být ve formátu ApplicationName~ServiceType.
serviceTypeName Název typu služby VotingWeb Musí odpovídat ServiceManifest.xml
appPackageUrl Adresa URL úložiště objektů blob aplikace https://servicefabricapps.blob.core.windows.net/apps/Voting.sfpkg Adresa URL balíčku aplikace v úložišti objektů blob (postup nastavení adresy URL je popsaný dále v článku).
{
    "apiVersion": "2019-03-01",
    "type": "Microsoft.ServiceFabric/clusters/applications",
    "name": "[concat(parameters('clusterName'), '/', parameters('applicationName'))]",
    "location": "[variables('clusterLocation')]",
},
{
    "apiVersion": "2019-03-01",
    "type": "Microsoft.ServiceFabric/clusters/applicationTypes",
    "name": "[concat(parameters('clusterName'), '/', parameters('applicationTypeName'))]",
    "location": "[variables('clusterLocation')]",
},
{
    "apiVersion": "2019-03-01",
    "type": "Microsoft.ServiceFabric/clusters/applicationTypes/versions",
    "name": "[concat(parameters('clusterName'), '/', parameters('applicationTypeName'), '/', parameters('applicationTypeVersion'))]",
    "location": "[variables('clusterLocation')]",
},
{
    "apiVersion": "2019-03-01",
    "type": "Microsoft.ServiceFabric/clusters/applications/services",
    "name": "[concat(parameters('clusterName'), '/', parameters('applicationName'), '/', parameters('serviceName'))]",
    "location": "[variables('clusterLocation')]"
}

Nasazení aplikace

Spuštěním rutiny New-AzResourceGroupDeployment nasaďte aplikaci do skupiny prostředků, která obsahuje váš cluster:

New-AzResourceGroupDeployment -ResourceGroupName "sf-cluster-rg" -TemplateParameterFile ".\UserApp.Parameters.json" -TemplateFile ".\UserApp.json" -Verbose

Upgrade aplikace Service Fabric pomocí Resource Manageru

Důležité

Všechny služby nasazené prostřednictvím definice JSON ARM musí být odebrány z části DefaultServices odpovídajícího souboru ApplicationManifest.xml.

Aplikaci, která už je nasazená do clusteru Service Fabric, můžete upgradovat z některého z těchto důvodů:

  • Do aplikace se přidá nová služba. Definici služby je nutné přidat do service-manifest.xml a application-manifest.xml souborů při přidání služby do aplikace. Pokud chcete odrážet novou verzi aplikace, musíte v UserApp.Parameters.json změnit také verzi typu aplikace z verze 1.0.0 na 1.0.1:

    "applicationTypeVersion": {
        "value": "1.0.1"
    },
    "serviceName2": {
        "value": "Voting~VotingData"
    },
    "serviceTypeName2": {
        "value": "VotingDataType"
    }
    
  • Do aplikace se přidá nová verze existující služby. Mezi příklady patří změny kódu aplikace a aktualizace verze a názvu typu aplikace. Pro účely tohoto upgradu aktualizujte UserApp.Parameters.json takto:

     "applicationTypeVersion": {
        "value": "1.0.1"
    },
    

Odstranění prostředků aplikace

Odstranění aplikace nasazené pomocí modelu prostředků aplikace v Resource Manageru:

  1. Pomocí rutiny Get-AzResource získejte ID prostředku pro aplikaci:

    Get-AzResource  -Name <String> | f1
    
  2. Pomocí rutiny Remove-AzResource odstraňte prostředky aplikace:

    Remove-AzResource  -ResourceId <String> [-Force] [-ApiVersion <String>]
    

Běžné otázky a odpovědi

Chyba: "Název aplikace musí být předpona názvu služby" Odpověď: Ujistěte se, že název služby je formátován takto: ProfileVetSF~CallTicketDataWebApi.

Další kroky

Získejte informace o modelu prostředků aplikace: