Condividi tramite


Esempi di modelli di Resource Manager per gli agenti in Chaos Studio

Questo articolo include un modello di Azure Resource Manager di esempio per distribuire e configurare Chaos Agent nei set di scalabilità di macchine virtuali di Azure usando un'identità gestita assegnata dall'utente. L'esempio distribuisce l'estensione Chaos Agent con tutte le funzionalità abilitate in un set di scalabilità di macchine virtuali.

Agente Chaos

L'esempio in questa sezione installa Chaos Agent in un set di scalabilità di macchine virtuali con tutte le funzionalità attivate. L'estensione Chaos Agent viene distribuita tramite un modello Azure Resource Manager (ARM) e utilizza un'identità gestita assegnata dall'utente per l'autenticazione.

Prerequisiti

Per usare il modello seguente, è necessario:

  • Per creare un'identità gestita assegnata dall'utente e assegnarla al set di scalabilità di macchine virtuali.
  • Per avere un set di scalabilità di macchine virtuali esistente nell'area di destinazione.
  • Per assicurarsi che il set di scalabilità di destinazione sia configurato per l'uso delle identità gestite assegnate dall'utente per l'autenticazione con Chaos Studio.

Autorizzazioni necessarie

Ruolo predefinito Ambito/i Motivo
Lettore di macchine virtuali Set di macchine virtuali scalabili Per distribuire l'estensione Chaos Agent e configurare le impostazioni del set di scalabilità
Qualsiasi ruolo che include l'azione Microsoft.Resources/deployments/ Sottoscrizione, gruppo di risorse o ambito di risorse specifico Per distribuire modelli di Resource Manager

Set di scalabilità di macchine virtuali di Azure

L'esempio seguente installa l'agente di Chaos in un set di scalabilità di macchine virtuali di Azure. Il modello distribuisce la destinazione Chaos, configura il set di scalabilità con identità assegnate dall'utente, installa l'estensione Chaos Agent e quindi abilita tutte le funzionalità disponibili dell'agente Chaos.

File modello

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "Microsoft.Chaos/targets",
            "apiVersion": "2024-01-01",
            "name": "Microsoft-Agent",
            "location": "<location>",
            "properties": {
                "identities": [
                    {
                        "type": "AzureManagedIdentity",
                        "clientId": "<managed-identity-client-id>",
                        "tenantId": "<tenant-id>"
                    }
                ]
            },
            "scope": "microsoft.compute/virtualmachinescalesets/<vmss-name>"
        },
        {
            "type": "microsoft.compute/virtualmachinescalesets",
            "apiVersion": "2021-07-01",
            "name": "<vmss-name>",
            "location": "<location>",
            "identity": {
                "userAssignedIdentities": {
                    "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userAssignedIdentity1>": {
                        "principalId": "<principal-id-1>",
                        "clientId": "<client-id-1>"
                    },
                    "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userAssignedIdentity2>": {}
                },
                "type": "UserAssigned"
            }
        },
        {
            "type": "microsoft.compute/virtualmachinescalesets/extensions",
            "apiVersion": "2021-07-01",
            "name": "<vmss-name>/ChaosAgent",
            "location": "<location>",
            "dependsOn": [
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>",
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent"
            ],
            "properties": {
                "publisher": "Microsoft.Azure.Chaos",
                "type": "ChaosLinuxAgent",
                "autoUpgradeMinorVersion": true,
                "enableAutomaticUpgrade": false,
                "typeHandlerVersion": "1.0",
                "settings": {
                    "profile": "[reference('/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent').agentProfileId]",
                    "auth.msi.clientid": "<managed-identity-client-id>",
                    "appinsightskey": ""
                }
            }
        },
        {
            "type": "Microsoft.Chaos/targets/capabilities",
            "apiVersion": "2024-01-01",
            "name": "Microsoft-Agent/StressNg-1.0",
            "location": "<location>",
            "dependsOn": [
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent"
            ],
            "properties": {},
            "scope": "microsoft.compute/virtualmachinescalesets/<vmss-name>"
        },
        {
            "type": "Microsoft.Chaos/targets/capabilities",
            "apiVersion": "2024-01-01",
            "name": "Microsoft-Agent/CPUPressure-1.0",
            "location": "<location>",
            "dependsOn": [
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent"
            ],
            "properties": {},
            "scope": "microsoft.compute/virtualmachinescalesets/<vmss-name>"
        },
        {
            "type": "Microsoft.Chaos/targets/capabilities",
            "apiVersion": "2024-01-01",
            "name": "Microsoft-Agent/LinuxDiskIOPressure-1.1",
            "location": "<location>",
            "dependsOn": [
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent"
            ],
            "properties": {},
            "scope": "microsoft.compute/virtualmachinescalesets/<vmss-name>"
        },
        {
            "type": "Microsoft.Chaos/targets/capabilities",
            "apiVersion": "2024-01-01",
            "name": "Microsoft-Agent/DiskIOPressure-1.1",
            "location": "<location>",
            "dependsOn": [
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent"
            ],
            "properties": {},
            "scope": "microsoft.compute/virtualmachinescalesets/<vmss-name>"
        },
        {
            "type": "Microsoft.Chaos/targets/capabilities",
            "apiVersion": "2024-01-01",
            "name": "Microsoft-Agent/DnsFailure-1.0",
            "location": "<location>",
            "dependsOn": [
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent"
            ],
            "properties": {},
            "scope": "microsoft.compute/virtualmachinescalesets/<vmss-name>"
        },
        {
            "type": "Microsoft.Chaos/targets/capabilities",
            "apiVersion": "2024-01-01",
            "name": "Microsoft-Agent/KillProcess-1.0",
            "location": "<location>",
            "dependsOn": [
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent"
            ],
            "properties": {},
            "scope": "microsoft.compute/virtualmachinescalesets/<vmss-name>"
        },
        {
            "type": "Microsoft.Chaos/targets/capabilities",
            "apiVersion": "2024-01-01",
            "name": "Microsoft-Agent/NetworkDisconnect-1.1",
            "location": "<location>",
            "dependsOn": [
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent"
            ],
            "properties": {},
            "scope": "microsoft.compute/virtualmachinescalesets/<vmss-name>"
        },
        {
            "type": "Microsoft.Chaos/targets/capabilities",
            "apiVersion": "2024-01-01",
            "name": "Microsoft-Agent/NetworkDisconnectViaFirewall-1.0",
            "location": "<location>",
            "dependsOn": [
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent"
            ],
            "properties": {},
            "scope": "microsoft.compute/virtualmachinescalesets/<vmss-name>"
        },
        {
            "type": "Microsoft.Chaos/targets/capabilities",
            "apiVersion": "2024-01-01",
            "name": "Microsoft-Agent/NetworkIsolation-1.0",
            "location": "<location>",
            "dependsOn": [
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent"
            ],
            "properties": {},
            "scope": "microsoft.compute/virtualmachinescalesets/<vmss-name>"
        },
        {
            "type": "Microsoft.Chaos/targets/capabilities",
            "apiVersion": "2024-01-01",
            "name": "Microsoft-Agent/NetworkLatency-1.1",
            "location": "<location>",
            "dependsOn": [
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent"
            ],
            "properties": {},
            "scope": "microsoft.compute/virtualmachinescalesets/<vmss-name>"
        },
        {
            "type": "Microsoft.Chaos/targets/capabilities",
            "apiVersion": "2024-01-01",
            "name": "Microsoft-Agent/NetworkPacketLoss-1.0",
            "location": "<location>",
            "dependsOn": [
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent"
            ],
            "properties": {},
            "scope": "microsoft.compute/virtualmachinescalesets/<vmss-name>"
        },
        {
            "type": "Microsoft.Chaos/targets/capabilities",
            "apiVersion": "2024-01-01",
            "name": "Microsoft-Agent/PauseProcess-1.0",
            "location": "<location>",
            "dependsOn": [
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent"
            ],
            "properties": {},
            "scope": "microsoft.compute/virtualmachinescalesets/<vmss-name>"
        },
        {
            "type": "Microsoft.Chaos/targets/capabilities",
            "apiVersion": "2024-01-01",
            "name": "Microsoft-Agent/PhysicalMemoryPressure-1.0",
            "location": "<location>",
            "dependsOn": [
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent"
            ],
            "properties": {},
            "scope": "microsoft.compute/virtualmachinescalesets/<vmss-name>"
        },
        {
            "type": "Microsoft.Chaos/targets/capabilities",
            "apiVersion": "2024-01-01",
            "name": "Microsoft-Agent/StopService-1.0",
            "location": "<location>",
            "dependsOn": [
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent"
            ],
            "properties": {},
            "scope": "microsoft.compute/virtualmachinescalesets/<vmss-name>"
        },
        {
            "type": "Microsoft.Chaos/targets/capabilities",
            "apiVersion": "2024-01-01",
            "name": "Microsoft-Agent/TimeChange-1.0",
            "location": "<location>",
            "dependsOn": [
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent"
            ],
            "properties": {},
            "scope": "microsoft.compute/virtualmachinescalesets/<vmss-name>"
        },
        {
            "type": "Microsoft.Chaos/targets/capabilities",
            "apiVersion": "2024-01-01",
            "name": "Microsoft-Agent/VirtualMemoryPressure-1.0",
            "location": "<location>",
            "dependsOn": [
                "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>/providers/Microsoft.Chaos/targets/Microsoft-Agent"
            ],
            "properties": {},
            "scope": "microsoft.compute/virtualmachinescalesets/<vmss-name>"
        }
    ]
}