Delen via


Voorbeeldexperimenten

Dit artikel bevat voorbeelden voor het maken van experimenten op basis van uw opdrachtregel (CLI) en Azure Portal-parametervoorbeelden voor verschillende experimenten. U kunt de volgende opdrachten kopiƫren en plakken in de CLI of Azure Portal en deze bewerken voor uw specifieke resources.

Hier volgt een voorbeeld van waar u de azure-portalparameter kopieert en plakt in:

Schermopname van de locatie van de azure-portalparameter.

Als u een van de onderstaande voorbeelden van experiment.json wilt opslaan, typt u nano-experiment.json in uw Cloud Shell, kopieert en plakt u een van de onderstaande experimentvoorbeelden, slaat u deze op (ctrl+o), sluit u nano (ctrl+x) af en voert u de volgende opdracht uit:

az rest --method put --uri https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment?api-version=2024-01-01

Notitie

Dit is de algemene opdracht die u zou gebruiken om een experiment te maken vanuit de Azure CLI

Notitie

Zorg ervoor dat uw experiment gemachtigd is om te werken op ALLE resources in het experiment. In deze voorbeelden wordt uitsluitend gebruikgemaakt van door het systeem toegewezen beheerde identiteit, maar we ondersteunen ook door de gebruiker toegewezen beheerde identiteit. Zie Experimentmachtigingen voor meer informatie. Deze experimenten worden NIET uitgevoerd zonder het experiment toestemming te geven voor uitvoering op de doelbronnen.

Bekijk hier alle beschikbare roltoewijzingen om te bepalen welke machtigingen vereist zijn voor uw doelbronnen.


Azure Kubernetes Service (AKS) - Netwerkvertraging

Experimentbeschrijving Dit experiment vertraagt de netwerkcommunicatie met 200 ms

{    

"identity": {
        "type": "SystemAssigned",
    },
    "tags": {},
    "location": "westus",
    "properties": {
        "selectors": [
            {
                "type": "List",
                "targets": [
                    {
                        "id": "/subscriptions/123hdq8-123d-89d7-5670-123123/resourceGroups/aks_network_delay_experiment/providers/Microsoft.ContainerService/managedClusters/nikhilAKScluster/providers/Microsoft.Chaos/targets/Microsoft-AzureKubernetesServiceChaosMesh",
                        "type": "ChaosTarget"
                    }
                ],
                "id": "Selector1"
            }
        ],
        "steps": [
            {
                "name": "AKS network latency",
                "branches": [
                    {
                        "name": "AKS network latency",
                        "actions": [
                            {
                                "type": "continuous",
                                "selectorId": "Selector1",
                                "duration": "PT5M",
                                "parameters": [
                                    {
                                        "key": "jsonSpec",
                                        "value": "{\"action\":\"delay\",\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]},\"delay\":{\"latency\":\"200ms\",\"correlation\":\"100\",\"jitter\":\"0ms\"}}"
                                    }
                                ],
                                "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.2"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}

Azure Kubernetes Service (AKS) - Pod-fout

Beschrijving van experiment Dit experiment neemt alle pods in het cluster 10 minuten in beslag.

{    

"identity": {
        "type": "SystemAssigned",
    },
    "tags": {},
    "location": "westus",
    "properties": {
        "selectors": [
            {
                "type": "List",
                "targets": [
                    {
                        "id": "/subscriptions/123hdq8-123d-89d7-5670-123123/resourceGroups/aks_pod_fail_experiment/providers/Microsoft.ContainerService/managedClusters/nikhilAKScluster/providers/Microsoft.Chaos/targets/Microsoft-AzureKubernetesServiceChaosMesh",
                        "type": "ChaosTarget"
                    }
                ],
                "id": "Selector1"
            }
        ],
        "steps": [
            {
                "name": "AKS pod kill",
                "branches": [
                    {
                        "name": "AKS pod kill",
                        "actions": [
                            {
                                "type": "continuous",
                                "selectorId": "Selector1",
                                "duration": "PT5M",
                                "parameters": [
                                    {
                                        "key": "jsonSpec",
                                        "value": "{\"action\":\"pod-failure\",\"mode\":\"all\",\"duration\":\"600s\",\"selector\":{\"namespaces\":[\"autoinstrumentationdemo\"]}}}"
                                    }
                                ],
                                "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:podChaos/2.2"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}

Azure Kubernetes Service (AKS) - Geheugenstress

Experimentbeschrijving Dit experiment benadrukt het geheugen van 4 AKS-pods tot 95% gedurende 10 minuten.

{    

"identity": {
        "type": "SystemAssigned",
    },
    "tags": {},
    "location": "westus",
    "properties": {
        "selectors": [
            {
                "type": "List",
                "targets": [
                    {
                        "id": "/subscriptions/123hdq8-123d-89d7-5670-123123/resourceGroups/aks_memory_stress_experiment/providers/Microsoft.ContainerService/managedClusters/nikhilAKScluster/providers/Microsoft.Chaos/targets/Microsoft-AzureKubernetesServiceChaosMesh",
                        "type": "ChaosTarget"
                    }
                ],
                "id": "Selector1"
            }
        ],
        "steps": [
            {
                "name": "AKS memory stress",
                "branches": [
                    {
                        "name": "AKS memory stress",
                        "actions": [
                            {
                                "type": "continuous",
                                "selectorId": "Selector1",
                                "duration": "PT10M",
                                "parameters": [
                                    {
                                        "key": "jsonSpec",
                                        "value": "{\"mode\":\"all\",\"selector\":{\"namespaces\":[\"autoinstrumentationdemo\"]},\"stressors\":{\"memory\":{\"workers\":4,\"size\":\"95%\"}}"
                                    }
                                ],
                                "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:stressChaos/2.2"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}

Azure Kubernetes Service (AKS) - CPU-stress

Beschrijving van het experiment Dit experiment benadrukt de CPU van vier pods in het AKS-cluster tot 95%.

{
    "identity": {
        "type": "SystemAssigned"
    },
    "tags": {},
    "location": "westus",
    "properties": {
        "selectors": [
            {
                "type": "List",
                "targets": [
                    {
                        "id": "/subscriptions/123hdq8-123d-89d7-5670-123123/resourceGroups/aks_memory_stress_experiment/providers/Microsoft.ContainerService/managedClusters/nikhilAKScluster/providers/Microsoft.Chaos/targets/Microsoft-AzureKubernetesServiceChaosMesh",
                        "type": "ChaosTarget"
                    }
                ],
                "id": "Selector1"
            }
        ],
        "steps": [
            {
                "name": "AKS CPU stress",
                "branches": [
                    {
                        "name": "AKS CPU stress",
                        "actions": [
                            {
                                "type": "continuous",
                                "selectorId": "Selector1",
                                "duration": "PT10M",
                                "parameters": [
                                    {
                                        "key": "jsonSpec",
                                        "value": "{\"mode\":\"all\",\"selector\":{\"namespaces\":[\"autoinstrumentationdemo\"]},\"stressors\":{\"cpu\":{\"workers\":4,\"load\":95}}}"
                                    }
                                ],
                                "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:stressChaos/2.2"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}

Azure Kubernetes Service (AKS) - Netwerkemulatie

Beschrijving van het experiment Dit experiment past een netwerkemulatie toe op alle pods in de opgegeven naamruimte, waarbij een latentie van 100 ms en een pakketverlies van 0,1% gedurende 5 minuten wordt toegevoegd.

{
    "identity": {
        "type": "SystemAssigned"
    },
    "tags": {},
    "location": "westus",
    "properties": {
        "selectors": [
            {
                "type": "List",
                "targets": [
                    {
                        "id": "/subscriptions/123hdq8-123d-89d7-5670-123123/resourceGroups/aks_network_emulation_experiment/providers/Microsoft.ContainerService/managedClusters/nikhilAKScluster/providers/Microsoft.Chaos/targets/Microsoft-AzureKubernetesServiceChaosMesh",
                        "type": "ChaosTarget"
                    }
                ],
                "id": "Selector1"
            }
        ],
        "steps": [
            {
                "name": "AKS network emulation",
                "branches": [
                    {
                        "name": "AKS network emulation",
                        "actions": [
                            {
                                "type": "continuous",
                                "selectorId": "Selector1",
                                "duration": "PT5M",
                                "parameters": [
                                    {
                                        "key": "jsonSpec",
                                        "value": "{\"action\":\"netem\",\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]},\"netem\":{\"latency\":\"100ms\",\"loss\":\"0.1\",\"correlation\":\"25\"}}"
                                    }
                                ],
                                "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.2"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}

Azure Kubernetes Service (AKS) - Netwerkpartitie

Experimentbeschrijving Dit experiment partitioneert het netwerk voor alle pods in de opgegeven naamruimte, waarbij een netwerksplitsing in de richting 'naar' gedurende vijf minuten wordt gesimuleren.

{
    "identity": {
        "type": "SystemAssigned"
    },
    "tags": {},
    "location": "westus",
    "properties": {
        "selectors": [
            {
                "type": "List",
                "targets": [
                    {
                        "id": "/subscriptions/123hdq8-123d-89d7-5670-123123/resourceGroups/aks_partition_experiment/providers/Microsoft.ContainerService/managedClusters/nikhilAKScluster/providers/Microsoft.Chaos/targets/Microsoft-AzureKubernetesServiceChaosMesh",
                        "type": "ChaosTarget"
                    }
                ],
                "id": "Selector1"
            }
        ],
        "steps": [
            {
                "name": "AKS network partition",
                "branches": [
                    {
                        "name": "AKS network partition",
                        "actions": [
                            {
                                "type": "continuous",
                                "selectorId": "Selector1",
                                "duration": "PT5M",
                                "parameters": [
                                    {
                                        "key": "jsonSpec",
                                        "value": "{\"action\":\"partition\",\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]},\"partition\":{\"direction\":\"to\"}}"
                                    }
                                ],
                                "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.2"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}

Azure Kubernetes Service (AKS) - Beperking van netwerkbandbreedte

Beschrijving van experiment Dit experiment beperkt de netwerkbandbreedte voor alle pods in de opgegeven naamruimte tot 1 mbps, met extra parameters voor limiet, buffer, pieksnelheid en burst gedurende 5 minuten.

{
    "identity": {
        "type": "SystemAssigned"
    },
    "tags": {},
    "location": "westus",
    "properties": {
        "selectors": [
            {
                "type": "List",
                "targets": [
                    {
                        "id": "/subscriptions/123hdq8-123d-89d7-5670-123123/resourceGroups/aks_bandwidth_experiment/providers/Microsoft.ContainerService/managedClusters/nikhilAKScluster/providers/Microsoft.Chaos/targets/Microsoft-AzureKubernetesServiceChaosMesh",
                        "type": "ChaosTarget"
                    }
                ],
                "id": "Selector1"
            }
        ],
        "steps": [
            {
                "name": "AKS network bandwidth",
                "branches": [
                    {
                        "name": "AKS network bandwidth",
                        "actions": [
                            {
                                "type": "continuous",
                                "selectorId": "Selector1",
                                "duration": "PT5M",
                                "parameters": [
                                    {
                                        "key": "jsonSpec",
                                        "value": "{\"action\":\"bandwidth\",\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]},\"bandwidth\":{\"rate\":\"1mbps\",\"limit\":\"50mb\",\"buffer\":\"10kb\",\"peakrate\":\"1mbps\",\"minburst\":\"0\"}}"
                                    }
                                ],
                                "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.2"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}

Azure Kubernetes Service (AKS) - Opnieuw bestellen van netwerkpakketten

Experimentbeschrijving Dit experiment rangschikt netwerkpakketten voor alle pods in de opgegeven naamruimte, met een tussenruimte van 5 pakketten en een hervolgordepercentage van 25% gedurende 5 minuten.

{
    "identity": {
        "type": "SystemAssigned"
    },
    "tags": {},
    "location": "westus",
    "properties": {
        "selectors": [
            {
                "type": "List",
                "targets": [
                    {
                        "id": "/subscriptions/123hdq8-123d-89d7-5670-123123/resourceGroups/aks_reorder_experiment/providers/Microsoft.ContainerService/managedClusters/nikhilAKScluster/providers/Microsoft.Chaos/targets/Microsoft-AzureKubernetesServiceChaosMesh",
                        "type": "ChaosTarget"
                    }
                ],
                "id": "Selector1"
            }
        ],
        "steps": [
            {
                "name": "AKS network reorder",
                "branches": [
                    {
                        "name": "AKS network reorder",
                        "actions": [
                            {
                                "type": "continuous",
                                "selectorId": "Selector1",
                                "duration": "PT5M",
                                "parameters": [
                                    {
                                        "key": "jsonSpec",
                                        "value": "{\"action\":\"reorder\",\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]},\"reorder\":{\"gap\":\"5\",\"reorder\":\"25\",\"correlation\":\"50\"}}"
                                    }
                                ],
                                "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.2"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}

Azure Kubernetes Service (AKS) - Netwerkpakketverlies

Experimentbeschrijving Dit experiment simuleert een pakketverlies van 10% voor alle pods in de opgegeven naamruimte gedurende 5 minuten.

{
    "identity": {
        "type": "SystemAssigned"
    },
    "tags": {},
    "location": "westus",
    "properties": {
        "selectors": [
            {
                "type": "List",
                "targets": [
                    {
                        "id": "/subscriptions/123hdq8-123d-89d7-5670-123123/resourceGroups/aks_loss_experiment/providers/Microsoft.ContainerService/managedClusters/nikhilAKScluster/providers/Microsoft.Chaos/targets/Microsoft-AzureKubernetesServiceChaosMesh",
                        "type": "ChaosTarget"
                    }
                ],
                "id": "Selector1"
            }
        ],
        "steps": [
            {
                "name": "AKS network loss",
                "branches": [
                    {
                        "name": "AKS network loss",
                        "actions": [
                            {
                                "type": "continuous",
                                "selectorId": "Selector1",
                                "duration": "PT5M",
                                "parameters": [
                                    {
                                        "key": "jsonSpec",
                                        "value": "{\"action\":\"loss\",\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]},\"loss\":{\"loss\":\"10\",\"correlation\":\"25\"}}"
                                    }
                                ],
                                "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.2"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}

Azure Kubernetes Service (AKS) - Duplicatie van netwerkpakketten

Beschrijving van het experiment Dit experiment dupliceerde 50% van de netwerkpakketten voor alle pods in de opgegeven naamruimte gedurende 5 minuten.

{
    "identity": {
        "type": "SystemAssigned"
    },
    "tags": {},
    "location": "westus",
    "properties": {
        "selectors": [
            {
                "type": "List",
                "targets": [
                    {
                        "id": "/subscriptions/123hdq8-123d-89d7-5670-123123/resourceGroups/aks_duplicate_experiment/providers/Microsoft.ContainerService/managedClusters/nikhilAKScluster/providers/Microsoft.Chaos/targets/Microsoft-AzureKubernetesServiceChaosMesh",
                        "type": "ChaosTarget"
                    }
                ],
                "id": "Selector1"
            }
        ],
        "steps": [
            {
                "name": "AKS network duplicate",
                "branches": [
                    {
                        "name": "AKS network duplicate",
                        "actions": [
                            {
                                "type": "continuous",
                                "selectorId": "Selector1",
                                "duration": "PT5M",
                                "parameters": [
                                    {
                                        "key": "jsonSpec",
                                        "value": "{\"action\":\"duplicate\",\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]},\"duplicate\":{\"duplicate\":\"50\",\"correlation\":\"50\"}}"
                                    }
                                ],
                                "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.2"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}

Azure Kubernetes Service (AKS) - Beschadiging van netwerkpakketten

Experimentbeschrijving Dit experiment beschadigd 50% van de netwerkpakketten voor alle pods in de opgegeven naamruimte gedurende 5 minuten.

{
    "identity": {
        "type": "SystemAssigned"
    },
    "tags": {},
    "location": "westus",
    "properties": {
        "selectors": [
            {
                "type": "List",
                "targets": [
                    {
                        "id": "/subscriptions/123hdq8-123d-89d7-5670-123123/resourceGroups/aks_corrupt_experiment/providers/Microsoft.ContainerService/managedClusters/nikhilAKScluster/providers/Microsoft.Chaos/targets/Microsoft-AzureKubernetesServiceChaosMesh",
                        "type": "ChaosTarget"
                    }
                ],
                "id": "Selector1"
            }
        ],
        "steps": [
            {
                "name": "AKS network corrupt",
                "branches": [
                    {
                        "name": "AKS network corrupt",
                        "actions": [
                            {
                                "type": "continuous",
                                "selectorId": "Selector1",
                                "duration": "PT5M",
                                "parameters": [
                                    {
                                        "key": "jsonSpec",
                                        "value": "{\"action\":\"corrupt\",\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]},\"corrupt\":{\"corrupt\":\"50\",\"correlation\":\"50\"}}"
                                    }
                                ],
                                "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.2"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}

Azure Load Test - Belastingstest starten/stoppen (met vertraging)

Beschrijving van experiment Dit experiment start een bestaande Azure-belastingstest en wacht 10 minuten met behulp van de actie 'vertraging' voordat de belastingstest wordt gestopt.

{    

"identity": {
        "type": "SystemAssigned",
    },
    "tags": {},
    "location": "eastus",
    "properties": {
        "selectors": [
            {
                "type": "List",
                "targets": [
                    {
                        "id": "/subscriptions/123hdq8-123d-89d7-5670-123123/resourceGroups/nikhilLoadTest/providers/microsoft.loadtestservice/loadtests/Nikhil-Demo-Load-Test/providers/Microsoft.Chaos/targets/microsoft-azureloadtest",
                        "type": "ChaosTarget"
                    }
                ],
                "id": "66e5124c-12db-4f7e-8549-7299c5828bff"
            },
            {
                "type": "List",
                "targets": [
                    {
                        "id": "/subscriptions/123hdq8-123d-89d7-5670-123123/resourceGroups/builddemo/providers/microsoft.loadtestservice/loadtests/Nikhil-Demo-Load-Test/providers/Microsoft.Chaos/targets/microsoft-azureloadtest",
                        "type": "ChaosTarget"
                    }
                ],
                "id": "9dc23b43-81ca-42c3-beae-3fe8ac80c30b"
            }
        ],
        "steps": [
            {
                "name": "Step 1 - Start Load Test",
                "branches": [
                    {
                        "name": "Branch 1",
                        "actions": [
                            {
                                "selectorId": "66e5124c-12db-4f7e-8549-7299c5828bff",
                                "type": "discrete",
                                "parameters": [
                                    {
                                        "key": "testId",
                                        "value": "ae24e6z9-d88d-4752-8552-c73e8a9adebc"
                                    }
                                ],
                                "name": "urn:csci:microsoft:azureLoadTest:start/1.0"
                            },
                            {
                                "type": "delay",
                                "duration": "PT10M",
                                "name": "urn:csci:microsoft:chaosStudio:TimedDelay/1.0"
                            }
                        ]
                    }
                ]
            },
            {
                "name": "Step 2 - End Load test",
                "branches": [
                    {
                        "name": "Branch 1",
                        "actions": [
                            {
                                "selectorId": "9dc23b43-81ca-42c3-beae-3fe8ac80c30b",
                                "type": "discrete",
                                "parameters": [
                                    {
                                        "key": "testId",
                                        "value": "ae24e6z9-d88d-4752-8552-c73e8a9adebc"
                                    }
                                ],
                                "name": "urn:csci:microsoft:azureLoadTest:stop/1.0"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}
}