Delen via


Service Fabric-toepassingsresourcemodel

U hebt meerdere opties voor het implementeren van Azure Service Fabric-toepassingen in uw Service Fabric-cluster. U wordt aangeraden Azure Resource Manager te gebruiken. Als u Resource Manager gebruikt, kunt u toepassingen en services in JSON beschrijven en deze vervolgens implementeren in dezelfde Resource Manager-sjabloon als uw cluster. In tegenstelling tot het gebruik van PowerShell of Azure CLI voor het implementeren en beheren van toepassingen, hoeft u niet te wachten totdat het cluster gereed is als u Resource Manager gebruikt. toepassingsregistratie, inrichting en implementatie kunnen in één stap plaatsvinden. Het gebruik van Resource Manager is de beste manier om de levenscyclus van de toepassing in uw cluster te beheren. Zie Best practices voor meer informatie: Infrastructuur als code.

Het beheren van uw toepassingen als resources in Resource Manager kan u helpen bij het verbeteren van deze gebieden:

  • Audittrail: Resource Manager controleert elke bewerking en houdt een gedetailleerd activiteitenlogboek bij. Een activiteitenlogboek kan u helpen bij het traceren van wijzigingen in de toepassingen en uw cluster.
  • Op rollen gebaseerd toegangsbeheer: u kunt de toegang tot clusters en toepassingen beheren die op het cluster zijn geïmplementeerd met behulp van dezelfde Resource Manager-sjabloon.
  • Beheerefficiëntie: Met Resource Manager beschikt u over één locatie (Azure Portal) voor het beheren van uw cluster- en kritieke toepassingsimplementaties.

In dit document leert u het volgende:

  • Toepassingsresources implementeren met Resource Manager.
  • Upgrade toepassingsresources met behulp van Resource Manager.
  • Toepassingsbronnen verwijderen.

Toepassingsbronnen implementeren

De stappen op hoog niveau voor het implementeren van een toepassing en de bijbehorende services met behulp van het Resource Manager-toepassingsresourcemodel zijn:

  1. Pak de toepassingscode in.
  2. Upload het pakket.
  3. Verwijs naar de locatie van het pakket in een Resource Manager-sjabloon als toepassingsresource.

Bekijk Een toepassing verpakken voor meer informatie.

Vervolgens maakt u een Resource Manager-sjabloon, werkt u het parameterbestand bij met toepassingsgegevens en implementeert u de sjabloon in het Service Fabric-cluster. Verken voorbeelden.

Een opslagaccount maken

Als u een toepassing wilt implementeren vanuit een Resource Manager-sjabloon, moet u een opslagaccount hebben. Het opslagaccount wordt gebruikt om de installatiekopieën van de toepassing te fasen.

U kunt een bestaand opslagaccount opnieuw gebruiken of u kunt een nieuw opslagaccount maken voor het faseren van uw toepassingen. Als u een bestaand opslagaccount gebruikt, kunt u deze stap overslaan.

Een opslagaccount maken

Uw opslagaccount configureren

Nadat het opslagaccount is gemaakt, maakt u een blobcontainer waarin de toepassingen kunnen worden gefaseerd. Ga in Azure Portal naar het Azure Storage-account waar u uw toepassingen wilt opslaan. Selecteer Blobs>Container toevoegen.

Resources in uw cluster kunnen worden beveiligd door het openbare toegangsniveau in te stellen op privé. U kunt op verschillende manieren toegang verlenen:

In het voorbeeld in de volgende schermopname wordt anonieme leestoegang voor blobs gebruikt.

Blob maken

De toepassing faseer in uw opslagaccount

Voordat u een toepassing kunt implementeren, moet u de toepassing faseereren in blobopslag. In deze zelfstudie maken we het toepassingspakket handmatig. Houd er rekening mee dat deze stap kan worden geautomatiseerd. Zie Een toepassing verpakken voor meer informatie.

In deze zelfstudie gebruiken we de voorbeeldtoepassing Voting.

  1. Klik in Visual Studio met de rechtermuisknop op het stemproject en selecteer Vervolgens Pakket.

    Pakkettoepassing

  2. Ga naar de map .\service-fabric-dotnet-quickstart\Voting\pkg\Debug . Zip de inhoud in een bestand met de naam Voting.zip. Het ApplicationManifest.xml-bestand moet zich in de hoofdmap van het zip-bestand.

    Zip-toepassing

  3. Wijzig de naam van het bestand om de extensie te wijzigen van .zip in .sfpkg.

  4. Selecteer In Azure Portal in de app-container voor uw opslagaccount de optie Uploaden en upload vervolgens Voting.sfpkg.

    App-pakket uploaden

Nu is de toepassing gefaseerd en kunt u de Resource Manager-sjabloon maken om de toepassing te implementeren.

Het Resource Manager-sjabloon maken

De voorbeeldtoepassing bevat Azure Resource Manager-sjablonen die u kunt gebruiken om de toepassing te implementeren. De namen van sjabloonbestanden worden UserApp.json en UserApp.Parameters.json.

Notitie

Het UserApp.Parameters.json-bestand moet worden bijgewerkt met de naam van uw cluster.

Parameter Description Voorbeeld Opmerkingen
clusterName De naam van het cluster waarnaar u implementeert sf-cluster123
toepassing De naam van de toepassing Stemmen
applicationTypeName De typenaam van de toepassing VotingType Moet overeenkomen met ApplicationManifest.xml
applicationTypeVersion De versie van het toepassingstype 1.0.0 Moet overeenkomen met ApplicationManifest.xml
serviceName De naam van de service Voting~VotingWeb Moet de indeling ApplicationName~ServiceType hebben
serviceTypeName De typenaam van de service VotingWeb Moet overeenkomen met ServiceManifest.xml
appPackageUrl De BLOB Storage-URL van de toepassing https://servicefabricapps.blob.core.windows.net/apps/Voting.sfpkg De URL van het toepassingspakket in blobopslag (de procedure voor het instellen van de URL wordt verderop in het artikel beschreven)
{
    "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')]"
}

De toepassing implementeren

Voer de cmdlet New-AzResourceGroupDeployment uit om de toepassing te implementeren in de resourcegroep die uw cluster bevat:

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

De Service Fabric-toepassing upgraden met behulp van Resource Manager

Belangrijk

Elke service die wordt geïmplementeerd via de ARM JSON-definitie, moet worden verwijderd uit de sectie DefaultServices van het bijbehorende ApplicationManifest.xml-bestand.

U kunt om een van deze redenen een upgrade uitvoeren van een toepassing die al is geïmplementeerd in een Service Fabric-cluster:

  • Er wordt een nieuwe service toegevoegd aan de toepassing. Er moet een servicedefinitie worden toegevoegd aan service-manifest.xml en application-manifest.xml bestanden wanneer een service wordt toegevoegd aan de toepassing. Als u een nieuwe versie van een toepassing wilt weergeven, moet u ook de versie van het toepassingstype wijzigen van 1.0.0 in 1.0.1 in UserApp.Parameters.json:

    "applicationTypeVersion": {
        "value": "1.0.1"
    },
    "serviceName2": {
        "value": "Voting~VotingData"
    },
    "serviceTypeName2": {
        "value": "VotingDataType"
    }
    
  • Er wordt een nieuwe versie van een bestaande service toegevoegd aan de toepassing. Voorbeelden hiervan zijn wijzigingen in toepassingscode en updates voor de versie en naam van het app-type. Werk voor deze upgrade UserApp.Parameters.json als volgt bij:

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

Toepassingsbronnen verwijderen

Een toepassing verwijderen die is geïmplementeerd met behulp van het toepassingsresourcemodel in Resource Manager:

  1. Gebruik de cmdlet Get-AzResource om de resource-id voor de toepassing op te halen:

    Get-AzResource  -Name <String> | f1
    
  2. Gebruik de cmdlet Remove-AzResource om de toepassingsresources te verwijderen:

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

Veelgestelde vragen en antwoorden

Fout: 'Toepassingsnaam moet een voorvoegsel van servicenaam zijn' Antwoord: Zorg ervoor dat de servicenaam als volgt is opgemaakt: ProfileVetSF~CallTicketDataWebApi.

Volgende stappen

Informatie ophalen over het toepassingsresourcemodel: