DNSChaos Experiment
This document describes how to create DNSChaos experiments in Chaos Mesh.
DNSChaos allows you to simulate fault DNS responses such as a DNS error or a random IP address after a request is sent.
#
Deploy DNS service for chaosTo create DNSChaos experiments in Chaos Mesh, you need to deploy a DNS service in Chaos Mesh by executing the command below:
When the deployment finishes, check the status of this DNS service:
Make sure the Pod's STATUS
is Running
.
#
Configuration fileBelow is a sample DNSChaos configuration file:
For more sample files, see examples. You can edit them as needed.
#
Fields description- action: Defines the chaos action for DNS chaos. Supported actions are:
error
- Get an error when sending the DNS requestrandom
- Get a random IP when sending the DNS request
scope: Defines the scope of the DNS chaos. Supported scopes are:
outer
- DNS chaos only works on outer hosts of the Kubernetes clusterinner
- DNS chaos only works on inner hosts of the Kubernetes clusterall
- DNS chaos works on all hosts.
selector: Specifies the target pods for chaos injection. For more details, see Define the Scope of Chaos Experiment.
#
NotesCurrently, DNSChaos only supports record types
A
andAAAA
.The chaos DNS service runs CoreDNS with the k8s_dns_chaos plugin. If the CoreDNS service in your Kubernetes cluster contains some special configurations, you can edit configMap
dns-server-config
to make the configuration of the chaos DNS service consistent with that of the K8s CoreDNS service as shown below: