Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel enthält Beispiele für das Erstellen von Experimenten über die Befehlszeile (CLI) und Azure-Portal Parameterbeispiele für verschiedene Experimente. Sie können die folgenden Befehle in die CLI oder Azure-Portal kopieren und einfügen und für Ihre spezifischen Ressourcen bearbeiten.
Hier sehen Sie ein Beispiel dafür, wo Sie den Azure-Portal Parameter kopieren und einfügen würden:
Wenn Sie eines der unten gezeigten Beispiele für "experiment.json" speichern möchten, geben Sie einfach Nano experiment.json in Ihre Cloud Shell ein, kopieren Und einfügen Sie eines der folgenden Experimentbeispiele, speichern Sie es (STRG+o), beenden Sie Nano (STRG+x), und führen Sie den folgenden Befehl aus:
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
Hinweis
Dies ist der generische Befehl, den Sie zum Erstellen eines Experiments aus der Azure CLI verwenden würden.
Hinweis
Stellen Sie sicher, dass Ihr Experiment über die Berechtigung zum Arbeiten mit ALLEN Ressourcen im Experiment verfügt. In diesen Beispielen wird ausschließlich die vom System zugewiesene verwaltete Identität verwendet, aber wir unterstützen auch die vom Benutzer zugewiesene verwaltete Identität. Weitere Informationen finden Sie unter Experimentberechtigungen. Diese Experimente werden NICHT ausgeführt, ohne dem Experiment die Berechtigung zum Ausführen für die Zielressourcen zu gewähren.
Zeigen Sie hier alle verfügbaren Rollenzuweisungen an, um zu bestimmen, welche Berechtigungen für Ihre Zielressourcen erforderlich sind.
Azure Kubernetes Service (AKS) – Netzwerkverzögerung
Experimentbeschreibung Dieses Experiment verzögert die Netzwerkkommunikation um 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-Fehler
Experimentbeschreibung Dieses Experiment nimmt alle Pods im Cluster 10 Minuten in Anspruch.
{
"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) – Speicherstress
ExperimentBeschreibung Dieses Experiment betont den Speicher von 4 AKS-Pods für 10 Minuten auf 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 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
Experimentbeschreibung Dieses Experiment betont die CPU von vier Pods im AKS-Cluster auf 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) – Netzwerkemulation
Experimentbeschreibung Dieses Experiment wendet eine Netzwerkemulation auf alle Pods im angegebenen Namespace an, wodurch eine Latenz von 100 ms und ein Paketverlust von 0,1 % für 5 Minuten hinzugefügt wird.
{
"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) – Netzwerkpartition
Experimentbeschreibung Dieses Experiment partitioniert das Netzwerk für alle Pods im angegebenen Namespace, wobei eine Netzwerkteilung in richtung "to" für 5 Minuten simuliert wird.
{
"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) – Einschränkung der Netzwerkbandbreite
Experimentbeschreibung Dieses Experiment beschränkt die Netzwerkbandbreite für alle Pods im angegebenen Namespace auf 1 Mbps, mit zusätzlichen Parametern für Limit, Puffer, Spitzenrate und Burst für 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) – Neureihenfolge von Netzwerkpaketen
Experiment beschreibung This experiment reorders network packets for all pods in the specified namespace, with a gap of 5 packets and a reorder percentage of 25% for 5 minutes.
{
"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) – Netzwerkpaketverlust
Experimentbeschreibung Dieses Experiment simuliert einen Paketverlust von 10 % für alle Pods im angegebenen Namespace für 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) – Netzwerkpaketduplizierung
Experimentbeschreibung Dieses Experiment dupliziert 50 % der Netzwerkpakete für alle Pods im angegebenen Namespace für 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) – Netzwerkpaketbeschädigung
Experimentbeschreibung Dieses Experiment beschädigt 50 % der Netzwerkpakete für alle Pods im angegebenen Namespace für 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 – Start/Stop Load Test (mit Verzögerung)
Experimentbeschreibung Dieses Experiment startet einen vorhandenen Azure-Auslastungstest und wartet dann 10 Minuten mit der Aktion "Verzögerung", bevor der Ladetest beendet wird.
{
"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"
}
]
}
]
}
]
}
}
}