Share 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, als u Resource Manager gebruikt, niet te wachten totdat het cluster gereed is; toepassingsregistratie, inrichting en implementatie kunnen allemaal in één stap plaatsvinden. Het gebruik van Resource Manager is de beste manier om de levenscyclus van toepassingen in uw cluster te beheren. Zie Best practices: Infrastructuur als code voor meer informatie.

Als u uw toepassingen beheert als resources in Resource Manager, kunt u verbeteringen op de volgende gebieden bereiken:

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

In dit document leert u het volgende:

  • Implementeer toepassingsresources met behulp van Resource Manager.
  • Werk toepassingsresources bij met behulp van Resource Manager.
  • Toepassingsresources verwijderen.

Toepassingsresources implementeren

De stappen op hoog niveau die u uitvoert om een toepassing en de bijbehorende services te implementeren met behulp van het Resource Manager toepassingsresourcemodel zijn:

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

Zie 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. Voorbeelden verkennen.

Create a storage account

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 de Azure Portal naar het Azure Storage-account waarin 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 meerdere manieren toegang verlenen:

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

Blob maken

Faseer de toepassing in uw opslagaccount

Voordat u een toepassing kunt implementeren, moet u de toepassing in blobopslag fasen. 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 project Voting 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 de Azure Portal in de container apps 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 zijn UserApp.json en UserApp.Parameters.json.

Notitie

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

Parameter Beschrijving 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
Servicenaam 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 een ARM JSON-definitie, moet worden verwijderd uit de sectie DefaultServices van het bijbehorende ApplicationManifest.xml-bestand.

U kunt een toepassing die al in een Service Fabric-cluster is geïmplementeerd, upgraden om een van de volgende redenen:

  • Er wordt een nieuwe service toegevoegd aan de toepassing. Een servicedefinitie moet 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 zijn wijzigingen in toepassingscode en updates voor de versie en naam van het app-type. Voor deze upgrade werkt u UserApp.Parameters.json als volgt bij:

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

Toepassingsresources 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 de servicenaam zijn' Antwoord: Zorg ervoor dat de servicenaam als volgt is opgemaakt: ProfileVetSF~CallTicketDataWebApi.

Volgende stappen

Informatie ophalen over het toepassingsresourcemodel: