Povolení rozšíření virtuálních počítačů Azure pomocí šablony ARM
V tomto článku se dozvíte, jak pomocí šablony Azure Resource Manageru (šablony ARM) nasadit rozšíření virtuálního počítače Azure, která podporují servery s podporou Azure Arc.
Rozšíření virtuálních počítačů můžete přidat do šablony ARM a spustit je pomocí nasazení šablony. S rozšířeními virtuálních počítačů podporovanými servery s podporou Azure Arc můžete rozšíření nasadit na počítače s Linuxem nebo Windows pomocí Azure PowerShellu. Každá následující ukázka obsahuje soubor šablony a soubor parametrů s ukázkovými hodnotami, které se mají šabloně poskytnout.
Poznámka:
I když můžete dávkovat více rozšíření a zpracovávat je společně, instalují se sériově. Po dokončení instalace prvního rozšíření se nainstaluje další rozšíření.
Servery s podporou Azure Arc nepodporují nasazování a správu rozšíření virtuálních počítačů do virtuálních počítačů Azure. Informace o virtuálních počítačích Azure najdete v článku s přehledem rozšíření virtuálního počítače.
Nasazení rozšíření virtuálního počítače Log Analytics
K snadnému nasazení agenta Log Analytics použijte jednu z následujících ukázek k instalaci agenta do Linuxu nebo Windows.
Soubor šablony pro Linux
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
},
"workspaceId": {
"type": "string"
},
"workspaceKey": {
"type": "string"
}
},
"resources": [
{
"name": "[concat(parameters('vmName'),'/OMSAgentForLinux')]",
"type": "Microsoft.HybridCompute/machines/extensions",
"location": "[parameters('location')]",
"apiVersion": "2022-03-10",
"properties": {
"publisher": "Microsoft.EnterpriseCloud.Monitoring",
"type": "OmsAgentForLinux",
"enableAutomaticUpgrade": true,
"settings": {
"workspaceId": "[parameters('workspaceId')]"
},
"protectedSettings": {
"workspaceKey": "[parameters('workspaceKey')]"
}
}
}
]
}
Soubor šablony pro Windows
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
},
"workspaceId": {
"type": "string"
},
"workspaceKey": {
"type": "string"
}
},
"resources": [
{
"name": "[concat(parameters('vmName'),'/MicrosoftMonitoringAgent')]",
"type": "Microsoft.HybridCompute/machines/extensions",
"location": "[parameters('location')]",
"apiVersion": "2022-03-10",
"properties": {
"publisher": "Microsoft.EnterpriseCloud.Monitoring",
"type": "MicrosoftMonitoringAgent",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"settings": {
"workspaceId": "[parameters('workspaceId')]"
},
"protectedSettings": {
"workspaceKey": "[parameters('workspaceKey')]"
}
}
}
]
}
Soubor parametrů
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "<vmName>"
},
"location": {
"value": "<region>"
},
"workspaceId": {
"value": "<MyWorkspaceID>"
},
"workspaceKey": {
"value": "<MyWorkspaceKey>"
}
}
}
Uložte šablonu a soubor parametrů na disk a upravte soubor parametrů s odpovídajícími hodnotami pro vaše nasazení. Rozšíření pak můžete nainstalovat na všechny připojené počítače v rámci skupiny prostředků pomocí následujícího příkazu. Příkaz pomocí parametru TemplateFile
určí šablonu a TemplateParameterFile
parametr k určení souboru, který obsahuje parametry a hodnoty parametrů.
New-AzResourceGroupDeployment -ResourceGroupName "ContosoEngineering" -TemplateFile "D:\Azure\Templates\LogAnalyticsAgent.json" -TemplateParameterFile "D:\Azure\Templates\LogAnalyticsAgentParms.json"
Nasazení rozšíření vlastních skriptů
Pokud chcete použít rozšíření vlastních skriptů, spusťte jednu z následujících ukázek pro Linux a Windows. Pokud rozšíření vlastních skriptů neznáte, přečtěte si téma Rozšíření vlastních skriptů pro Linux nebo rozšíření vlastních skriptů pro Windows. Při používání tohoto rozšíření s hybridními počítači byste měli pochopit několik různých charakteristik:
Seznam podporovaných operačních systémů s rozšířením vlastních skriptů virtuálního počítače Azure se nevztahuje na servery s podporou Azure Arc. Podívejte se na seznam podporovaných operačních systémů pro servery s podporou Azure Arc.
Podrobnosti konfigurace týkající se škálovacích sad virtuálních počítačů Azure nebo virtuálních počítačů vytvořených prostřednictvím modelu nasazení Classic se nepoužijí.
Pokud vaše počítače potřebují stáhnout skript externě a můžou komunikovat pouze prostřednictvím proxy serveru, musíte nakonfigurovat agenta Connected Machine tak, aby nastavil proměnnou prostředí proxy serveru.
Konfigurace rozšíření vlastních skriptů určuje například umístění skriptu a příkaz, který se má spustit. Tato konfigurace je určená v následujících šablonách.
Soubor šablony pro Linux
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
},
"fileUris": {
"type": "array"
},
"commandToExecute": {
"type": "securestring"
}
},
"resources": [
{
"name": "[concat(parameters('vmName'),'/CustomScript')]",
"type": "Microsoft.HybridCompute/machines/extensions",
"location": "[parameters('location')]",
"apiVersion": "2022-03-10",
"properties": {
"publisher": "Microsoft.Azure.Extensions",
"type": "CustomScript",
"autoUpgradeMinorVersion": true,
"settings": {},
"protectedSettings": {
"commandToExecute": "[parameters('commandToExecute')]",
"fileUris": "[parameters('fileUris')]"
}
}
}
]
}
Soubor šablony pro Windows
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
},
"fileUris": {
"type": "string"
},
"arguments": {
"type": "securestring",
"defaultValue": " "
}
},
"variables": {
"UriFileNamePieces": "[split(parameters('fileUris'), '/')]",
"firstFileNameString": "[variables('UriFileNamePieces')[sub(length(variables('UriFileNamePieces')), 1)]]",
"firstFileNameBreakString": "[split(variables('firstFileNameString'), '?')]",
"firstFileName": "[variables('firstFileNameBreakString')[0]]"
},
"resources": [
{
"name": "[concat(parameters('vmName'),'/CustomScriptExtension')]",
"type": "Microsoft.HybridCompute/machines/extensions",
"location": "[parameters('location')]",
"apiVersion": "2022-03-10",
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": "[split(parameters('fileUris'), ' ')]"
},
"protectedSettings": {
"commandToExecute": "[concat ('powershell -ExecutionPolicy Unrestricted -File ', variables('firstFileName'), ' ', parameters('arguments'))]"
}
}
}
]
}
Soubor parametrů
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{}
],
"steps": [
{
"name": "customScriptExt",
"label": "Add Custom Script Extension",
"elements": [
{
"name": "fileUris",
"type": "Microsoft.Common.FileUpload",
"label": "Script files",
"toolTip": "The script files that will be downloaded to the virtual machine.",
"constraints": {
"required": false
},
"options": {
"multiple": true,
"uploadMode": "url"
},
"visible": true
},
{
"name": "commandToExecute",
"type": "Microsoft.Common.TextBox",
"label": "Command",
"defaultValue": "sh script.sh",
"toolTip": "The command to execute, for example: sh script.sh",
"constraints": {
"required": true
},
"visible": true
}
]
}
],
"outputs": {
"vmName": "[vmName()]",
"location": "[location()]",
"fileUris": "[steps('customScriptExt').fileUris]",
"commandToExecute": "[steps('customScriptExt').commandToExecute]"
}
}
}
Nasazení rozšíření dependency agenta
Pokud chcete použít rozšíření závislého agenta služby Azure Monitor, spusťte jednu z následujících ukázek pro Linux a Windows. Pokud neznáte agenta závislostí, prohlédni si přehled agentů služby Azure Monitor.
Soubor šablony pro Linux
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string",
"metadata": {
"description": "The name of existing Linux machine."
}
}
},
"resources": [
{
"type": "Microsoft.HybridCompute/machines/extensions",
"name": "[concat(parameters('vmName'),'/DAExtension')]",
"apiVersion": "2022-03-10",
"location": "[resourceGroup().location]",
"dependsOn": [
],
"properties": {
"publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
"type": "DependencyAgentLinux",
"enableAutomaticUpgrade": true
}
}
],
"outputs": {
}
}
Soubor šablony pro Windows
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string",
"metadata": {
"description": "The name of existing Windows machine."
}
}
},
"resources": [
{
"type": "Microsoft.HybridCompute/machines/extensions",
"name": "[concat(parameters('vmName'),'/DAExtension')]",
"apiVersion": "2022-03-10",
"location": "[resourceGroup().location]",
"dependsOn": [
],
"properties": {
"publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
"type": "DependencyAgentWindows",
"enableAutomaticUpgrade": true
}
}
],
"outputs": {
}
}
Nasazení šablon
Uložte soubor šablony na disk. Rozšíření pak můžete nasadit do připojeného počítače pomocí následujícího příkazu:
New-AzResourceGroupDeployment -ResourceGroupName "ContosoEngineering" -TemplateFile "D:\Azure\Templates\DependencyAgent.json"
Nasazení rozšíření virtuálního počítače služby Azure Key Vault (Preview)
Následující JSON ukazuje schéma pro rozšíření virtuálního počítače služby Key Vault (Preview). Rozšíření nevyžaduje chráněná nastavení, protože všechna jeho nastavení jsou považována za veřejné informace. Rozšíření vyžaduje seznam monitorovaných certifikátů, frekvenci dotazování a cílové úložiště certifikátů.
Soubor šablony pro Linux
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
},
"autoUpgradeMinorVersion":{
"type": "bool"
},
"pollingIntervalInS":{
"type": "int"
},
"certificateStoreName":{
"type": "string"
},
"certificateStoreLocation":{
"type": "string"
},
"observedCertificates":{
"type": "string"
},
"msiEndpoint":{
"type": "string"
},
"msiClientId":{
"type": "string"
}
},
"resources": [
{
"type": "Microsoft.HybridCompute/machines/extensions",
"name": "[concat(parameters('vmName'),'/KVVMExtensionForLinux')]",
"apiVersion": "2022-03-10",
"location": "[parameters('location')]",
"properties": {
"publisher": "Microsoft.Azure.KeyVault",
"type": "KeyVaultForLinux",
"enableAutomaticUpgrade": true,
"settings": {
"secretsManagementSettings": {
"pollingIntervalInS": <polling interval in seconds, e.g. "3600">,
"certificateStoreName": <ignored on linux>,
"certificateStoreLocation": <disk path where certificate is stored, default: "/var/lib/waagent/Microsoft.Azure.KeyVault">,
"observedCertificates": <list of KeyVault URIs representing monitored certificates, e.g.: "https://myvault.vault.azure.net/secrets/mycertificate"
},
"authenticationSettings": {
"msiEndpoint": "http://localhost:40342/metadata/identity"
}
}
}
}
]
}
Soubor šablony pro Windows
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
},
"autoUpgradeMinorVersion":{
"type": "bool"
},
"pollingIntervalInS":{
"type": "int"
},
"certificateStoreName":{
"type": "string"
},
"linkOnRenewal":{
"type": "bool"
},
"certificateStoreLocation":{
"type": "string"
},
"requireInitialSync":{
"type": "bool"
},
"observedCertificates":{
"type": "string"
},
"msiEndpoint":{
"type": "string"
},
"msiClientId":{
"type": "string"
}
},
"resources": [
{
"type": "Microsoft.HybridCompute/machines/extensions",
"name": "[concat(parameters('vmName'),'/KVVMExtensionForWindows')]",
"apiVersion": "2022-03-10",
"location": "[parameters('location')]",
"properties": {
"publisher": "Microsoft.Azure.KeyVault",
"type": "KeyVaultForWindows",
"enableAutomaticUpgrade": true,
"settings": {
"secretsManagementSettings": {
"pollingIntervalInS": "3600",
"certificateStoreName": <certificate store name, e.g.: "MY">,
"linkOnRenewal": <Only Windows. This feature ensures s-channel binding when certificate renews, without necessitating a re-deployment. e.g.: false>,
"certificateStoreLocation": <certificate store location, currently it works locally only e.g.: "LocalMachine">,
"requireInitialSync": <initial synchronization of certificates e.g.: true>,
"observedCertificates": <list of KeyVault URIs representing monitored certificates, e.g.: "https://myvault.vault.azure.net"
},
"authenticationSettings": {
"msiEndpoint": "http://localhost:40342/metadata/identity"
}
}
}
}
]
}
Poznámka:
Pozorované adresy URL certifikátů by měly být ve formuláři https://myVaultName.vault.azure.net/secrets/myCertName
. Důvodem je, že /secrets
cesta vrací úplný certifikát, včetně privátního klíče, zatímco /certificates
cesta ne. Další informace o certifikátech najdete v přehledu klíčů, tajných klíčů a certifikátů služby Azure Key Vault.
Nasazení šablon
Uložte soubor šablony na disk. Rozšíření pak můžete nasadit do připojeného počítače pomocí následujícího příkazu.
Poznámka:
Rozšíření virtuálního počítače by vyžadovalo přiřazení identity přiřazené systémem k ověření ve službě Key Vault. Viz Ověřování prostředků Azure pomocí serverů s podporou Azure Arc pro servery s Linuxem a Windows Azure Arc.
New-AzResourceGroupDeployment -ResourceGroupName "ContosoEngineering" -TemplateFile "D:\Azure\Templates\KeyVaultExtension.json"
Související obsah
- Rozšíření virtuálních počítačů můžete nasadit, spravovat a odebírat pomocí Azure PowerShellu, webu Azure Portal nebo Azure CLI.
- Informace o řešení potíží najdete v průvodci odstraňováním potíží s rozšířeními virtuálních počítačů.