Simulate Azure Faults
AzureChaos can help you simulate fault scenarios on the specified Azure instance. Currently, AzureChaos supports the following fault types:
- VM Stop: stops the specified VM instance.
- VM Restart: restarts the specified VM instance.
- Disk Detach: uninstalls the data disk from the specified VM instance.
To easily connect to the Azure cluster, you can create a Kubernetes Secret
file to store the authentication information in advance.
A Secret
file sample is as follows:
- name means the Kubernetes Secret object.
- namespace means the namespace of the Kubernetes Secret object.
- client_id stores Application (client) ID of Azure App registrations.
- client_secret stores Application (client) secret value of Azure App registrations.
- tenant_id stores Directory (tenant) ID of Azure App registrations. For
client_id
andclient_secret
, please refer to Confidential client application.
note
Make sure that App registrations in the Secret file has been added as a contributor or owner to the access control (IAM) of the VM instance.
Open Chaos Dashboard, and click NEW EXPERIMENT on the page to create a new experiment:
Fill out the experiment information, and specify the experiment scope and the scheduled experiment duration.
Write the experiment configuration to the
azurechaos-vm-stop.yaml
file, as shown below:apiVersion: chaos-mesh.org/v1alpha1
kind: AzureChaos
metadata:
name: vm-stop-example
namespace: chaos-mesh
spec:
action: vm-stop
secretName: 'cloud-key-secret'
subscriptionID: 'your-subscription-id'
resourceGroupName: 'your-resource-group-name'
duration: '5m'
Based on this configuration example, Chaos Mesh will inject the
vm-stop
fault into the specified VM instance so that the VM instance will be unavailable in 5 minutes.For more information about stopping VM instances, refer to Azure documentation - Start or stop a VM.
After the configuration file is prepared, use
kubectl
to create an experiment:
Write the experiment configuration to the
azurechaos-vm-restart.yaml
file:apiVersion: chaos-mesh.org/v1alpha1
metadata:
name: vm-restart-example
namespace: chaos-mesh
action: vm-restart
secretName: 'cloud-key-secret'
subscriptionID: 'your-subscription-id'
resourceGroupName: 'your-resource-group-name'
For more information about restarting the VM instance, refer to the Azure documentation - Restart a VM.
After the configuration file is prepared, use
kubectl
to create an experiment:
Write the experiment configuration to the
azurechaos-disk-detach.yaml
file:apiVersion: chaos-mesh.org/v1alpha1
kind: AzureChaos
metadata:
name: disk-detach-example
namespace: chaos-mesh
spec:
action: disk-detach
secretName: 'cloud-key-secret'
subscriptionID: 'your-subscription-id'
resourceGroupName: 'your-resource-group-name'
lun: 'your-disk-lun'
diskName: 'your-disk-name'
duration: '5m'
Based on this configuration example, Chaos Mesh will inject a
disk-detach
fault into the specified VM instance so that the VM instance is detached from the specified data disk within 5 minutes.For more information about detaching Azure date disk, refer to the Azure documentation - Detach a data disk.
The following table shows the fields in the YAML configuration file.