Model prostředků aplikace Service Fabric
Pro nasazení aplikací Azure Service Fabric v clusteru Service Fabric máte několik možností. 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 do stejné šablony Resource Manager jako váš cluster. Na rozdíl od použití PowerShellu nebo Azure CLI k nasazení a správě aplikací platí, že pokud používáte Resource Manager, nemusíte čekat na připravenost clusteru. Registrace, zřizování a nasazení aplikací může proběhnout v jednom kroku. Použití Resource Manager 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 Manager vám může pomoct zlepšit tyto oblasti:
- Záznam pro audit: Resource Manager audituje každou operaci a uchovává podrobný protokol aktivit. Protokol aktivit vám může pomoct sledovat všechny změny provedené v aplikacích a v clusteru.
- Řízení přístupu na základě role: Pomocí stejné šablony Resource Manager můžete spravovat přístup ke clusterům a aplikacím nasazeným v clusteru.
- Efektivita správy: Použití Resource Manager vám poskytne jedno umístění (Azure Portal) pro správu clusteru a nasazení důležitých aplikací.
V tomto dokumentu se naučíte:
- Nasazení prostředků aplikace pomocí Resource Manager.
- Upgradujte prostředky aplikace pomocí Resource Manager.
- Odstraňte prostředky aplikace.
Nasazení prostředků aplikace
Základní kroky, které provedete k nasazení aplikace a jejích služeb pomocí modelu prostředků aplikace Resource Manager, jsou:
- Zabalte kód aplikace.
- Nahrajte balíček.
- Odkaz na umístění balíčku v šabloně Resource Manager jako prostředek aplikace.
Další informace najdete v tématu Zabalení aplikace.
Pak vytvoříte šablonu Resource Manager, aktualizujete soubor parametrů podrobnostmi o aplikaci a nasadíte šablonu do clusteru Service Fabric. Prozkoumejte ukázky.
Vytvoření účtu úložiště
Pokud chcete nasadit aplikaci ze šablony Resource Manager, musíte mít účet úložiště. Účet úložiště se používá k náfázi 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.
Konfigurace účtu úložiště
Po vytvoření účtu úložiště vytvoříte kontejner objektů blob, ve kterém je možné aplikace rozfázovat. V Azure Portal přejděte do účtu Azure Storage, do kterého chcete aplikace ukládat. Vyberte Objekty blob Přidat>kontejner.
Prostředky v 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:
- Udělte přístup k datům front a objektů blob Azure pomocí Azure RBAC v Azure Portal.
- Delegování přístupu pomocí sdíleného přístupového podpisu
Příklad na následujícím snímku obrazovky používá anonymní přístup pro čtení pro objekty blob.
Příprava aplikace v účtu úložiště
Před nasazením aplikace musíte aplikaci 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 najdete v tématu Zabalení aplikace.
V tomto kurzu použijeme ukázkovou aplikaci Voting.
V sadě Visual Studio klikněte pravým tlačítkem na projekt Voting a pak vyberte Package (Balíček).
Přejděte do adresáře .\service-fabric-dotnet-quickstart\Voting\pkg\Debug . Zazipujte obsah do souboru s názvemVoting.zip. Soubor ApplicationManifest.xml by měl být v kořenovém adresáři souboru ZIP.
Přejmenujte soubor a změňte příponu z .zip na .sfpkg.
V Azure Portal v kontejneru apps pro váš účet úložiště vyberte Nahrát a pak nahrajte Voting.sfpkg.
Teď je aplikace připravená a můžete vytvořit šablonu Resource Manager pro nasazení aplikace.
Vytvoření šablony Resource Manageru
Ukázková aplikace obsahuje šablony Azure Resource Manager, 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í | |
název_typu_aplikace | Název typu aplikace | VotingType | Musí odpovídat ApplicationManifest.xml |
typ applicationTypeVersion | Verze typu aplikace | 1.0.0 | Musí odpovídat ApplicationManifest.xml |
Název_služby | Název služby | Voting~VotingWeb | Musí mít formát ApplicationName~ServiceType. |
název_typu_služby | Název typu služby | VotingWeb | Musí odpovídat ServiceManifest.xml |
adresa 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 Manager
Důležité
Všechny služby nasazované prostřednictvím definice ARM JSON se musí odebrat z oddílu DefaultServices odpovídajícího ApplicationManifest.xml souboru.
Aplikaci, která je už nasazená do clusteru Service Fabric, můžete upgradovat z jednoho z těchto důvodů:
Do aplikace se přidá nová služba. Definice služby musí být přidána do souborůservice-manifest.xml a application-manifest.xml při přidání služby do aplikace. Aby se projevila nová verze aplikace, musíte také změnit verzi typu aplikace z 1.0.0 na 1.0.1 v souboru UserApp.Parameters.json:
"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. V případě tohoto upgradu aktualizujte soubor UserApp.Parameters.json následujícím způsobem:
"applicationTypeVersion": { "value": "1.0.1" },
Odstranění prostředků aplikace
Odstranění aplikace nasazené pomocí modelu prostředků aplikace v Resource Manager:
K získání ID prostředku aplikace použijte rutinu Get-AzResource :
Get-AzResource -Name <String> | f1
K odstranění prostředků aplikace použijte rutinu Remove-AzResource :
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 je název služby naformátovaný takto: ProfileVetSF~CallTicketDataWebApi.
Další kroky
Získejte informace o modelu prostředků aplikace:
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro