Porozumění sekvenci nasazení v Azure modrotisky
Azure modrotisky používá pořadí sekvencování k určení pořadí vytváření prostředků při zpracování přiřazení definice podrobného plánu. Tento článek vysvětluje následující koncepty:
- Výchozí pořadí řazení, které se používá
- Jak přizpůsobit pořadí
- Jak se zpracovává vlastní objednávka
V příkladech JSON jsou proměnné, které je potřeba nahradit vlastními hodnotami:
- Proměnnou
{YourMG}nahraďte názvem skupiny pro správu.
Výchozí pořadí sekvencování
Pokud definice podrobného plánu neobsahuje žádnou direktivu, aby bylo možné nasazovat artefakty nebo tato direktiva je null, použije se následující pořadí:
- Artefakty přiřazení role na úrovni předplatného seřazené podle názvu artefaktu
- Artefakty přiřazení zásad na úrovni předplatného seřazené podle názvu artefaktu
- Artefakty Azure Resource Manager šablon (šablon ARM) na úrovni předplatného seřazené podle názvu artefaktu
- Artefakty skupiny prostředků (včetně podřízených artefaktů) seřazené podle názvu zástupného symbolu
V rámci každého artefaktu skupiny prostředků se pro artefakty, které se vytvářejí v rámci této skupiny prostředků, používá následující pořadí:
- Artefakty přiřazení podřízené role skupiny prostředků seřazené podle názvu artefaktu
- Artefakty přiřazení podřízených zásad skupiny prostředků seřazené podle názvu artefaktu
- Odvození artefaktů skupiny prostředků Azure Resource Manager šablon (šablon ARM) seřazené podle názvu artefaktu
Poznámka
Použití artefaktů () vytvoří implicitní závislost na artefaktu, na který je odkazováno.
Přizpůsobení pořadí sekvencování
Při sestavování velkých podrobných definic podrobného plánu může být potřeba, aby se prostředky vytvořily v určitém pořadí. Nejběžnějším vzorem použití tohoto scénáře je, že definice podrobného plánu obsahuje několik šablon ARM. Azure Modrotiskys zpracovává tento model tím, že umožňuje definovat pořadí sekvencování.
Řazení je provedeno definováním dependsOn vlastnosti ve formátu JSON. Tato vlastnost podporuje definici podrobného plánu, pro skupiny prostředků a objekty artefaktů. dependsOn je pole řetězců názvů artefaktů, které musí být před vytvořením vytvořen konkrétní artefakt.
Poznámka
Při vytváření objektů podrobného plánu získá každý prostředek artefaktu svůj název z názvu souboru, pokud používáte PowerShell, nebo koncový bod adresy URL, pokud se používá REST API. odkazy na zdroj v artefaktech se musí shodovat s odkazy definovanými v definici podrobného plánu.
Příklad – seřazená skupina prostředků
Tato příklad definice podrobného plánu má skupinu prostředků, která definovala vlastní pořadí sekvencování, deklarováním hodnoty pro dependsOn , společně se standardní skupinou prostředků. V tomto případě se artefakt s názvem assignPolicyTags zpracuje před seřazenou skupinou prostředků RG.
Standard-RG se zpracuje podle výchozího pořadí sekvencování.
{
"properties": {
"description": "Example blueprint with custom sequencing order",
"resourceGroups": {
"ordered-rg": {
"dependsOn": [
"assignPolicyTags"
],
"metadata": {
"description": "Resource Group that waits for 'assignPolicyTags' creation"
}
},
"standard-rg": {
"metadata": {
"description": "Resource Group that follows the standard sequence ordering"
}
}
},
"targetScope": "subscription"
},
"type": "Microsoft.Blueprint/blueprints"
}
Příklad – artefakt s vlastním pořadím
Tento příklad je artefaktem zásad, který závisí na šabloně ARM. Ve výchozím nastavení je artefakt zásad vytvořen před šablonou ARM. Toto řazení umožňuje artefaktu zásad počkat na vytvoření šablony ARM.
{
"properties": {
"displayName": "Assigns an identifying tag",
"policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/2a0e14a6-b0a6-4fab-991a-187a4f81c498",
"resourceGroup": "standard-rg",
"dependsOn": [
"customTemplate"
]
},
"kind": "policyAssignment",
"type": "Microsoft.Blueprint/artifacts"
}
Příklad – artefakt šablony na úrovni předplatného v závislosti na skupině prostředků
V tomto příkladu pro šablonu ARM nasazenou na úrovni předplatného závisí na skupině prostředků. Ve výchozím pořadí se artefakty na úrovni předplatného vytvoří před všemi skupinami prostředků a podřízenými artefakty v těchto skupinách prostředků. Skupina prostředků je definovaná v definici podrobného plánu, jako je tato:
"resourceGroups": {
"wait-for-me": {
"metadata": {
"description": "Resource Group that is deployed prior to the subscription level template artifact"
}
}
}
Artefakt šablony na úrovni předplatného v závislosti na skupině prostředků čekání na uživatele je definován takto:
{
"properties": {
"template": {
...
},
"parameters": {
...
},
"dependsOn": ["wait-for-me"],
"displayName": "SubLevelTemplate",
"description": ""
},
"kind": "template",
"type": "Microsoft.Blueprint/blueprints/artifacts"
}
Zpracování přizpůsobené sekvence
Během procesu vytváření se k vytvoření grafu závislostí artefaktů modrotisky používá topologické řazení. Tato kontrolu zajišťuje, aby se podporovaly jednotlivé úrovně závislostí mezi skupinami prostředků a artefakty.
Pokud je deklarována závislost artefaktu, která by nezměnila výchozí pořadí, nebude provedena žádná změna.
Příkladem je skupina prostředků, která závisí na zásadě na úrovni předplatného. Dalším příkladem je přiřazení podřízené zásady skupiny prostředků ' standard-RG ', které závisí na přiřazení podřízené role skupiny prostředků ' standard-RG '. V obou případech se dependsOn nezměnila výchozí pořadí sekvencování a neudělaly se žádné změny.
Další kroky
- Další informace o životním cyklu podrobného plánu
- Principy použití statických a dynamických parametrů
- Použití zamykání prostředků podrobného plánu
- Další informace o aktualizaci existujících přiřazení
- Řešení potíží při přiřazení podrobného plánu – obecné řešení potíží