API Reference
chaos-mesh.org/v1alpha1
Package v1alpha1 contains API Schema definitions for the chaosmesh v1alpha1 API group
AWSChaos
AWSChaos is the Schema for the awschaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
AWSChaosAction (string)
AWSChaosAction represents the chaos action about aws.
AWSChaosSpec
AWSChaosSpec is the content of the specification for an AWSChaos
Field | Description |
---|---|
|
Action defines the specific aws chaos action. Supported action: ec2-stop / ec2-restart / detach-volume Default action: ec2-stop |
|
Duration represents the duration of the chaos action. |
|
SecretName defines the name of kubernetes secret. |
|
AWSChaosStatus
AWSChaosStatus represents the status of an AWSChaos
Field | Description |
---|---|
|
AWSSelector
Field | Description |
---|---|
|
Endpoint indicates the endpoint of the aws server. Just used it in test now. |
|
AWSRegion defines the region of aws. |
|
Ec2Instance indicates the ID of the ec2 instance. |
|
EbsVolume indicates the ID of the EBS volume. Needed in detach-volume. |
|
DeviceName indicates the name of the device. Needed in detach-volume. |
AttrOverrideSpec
AttrOverrideSpec represents an override of attribution
Field | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BandwidthSpec
BandwidthSpec defines detail of bandwidth limit.
Field | Description |
---|---|
|
Rate is the speed knob. Allows bps, kbps, mbps, gbps, tbps unit. bps means bytes per second. |
|
Limit is the number of bytes that can be queued waiting for tokens to become available. |
|
Buffer is the maximum amount of bytes that tokens can be available for instantaneously. |
|
Peakrate is the maximum depletion rate of the bucket. The peakrate does not need to be set, it is only necessary if perfect millisecond timescale shaping is required. |
|
Minburst specifies the size of the peakrate bucket. For perfect accuracy, should be set to the MTU of the interface. If a peakrate is needed, but some burstiness is acceptable, this size can be raised. A 3000 byte minburst allows around 3mbit/s of peakrate, given 1000 byte packets. |
CPUStressor
CPUStressor defines how to stress CPU out
Field | Description |
---|---|
|
|
|
Load specifies P percent loading per CPU worker. 0 is effectively a sleep (no load) and 100 is full loading. |
|
extend stress-ng options |
ChainDirection (string)
ChainDirection represents the direction of chain
ChaosCondition
Field | Description |
---|---|
|
|
|
|
|
ChaosConditionType (string)
ChaosOnlyScheduleSpec
ChaosOnlyScheduleSpec is very similar with ScheduleSpec, but it could not schedule Workflow because we could not resolve nested CRD now
Field | Description |
---|---|
|
|
|
|
|
|
|
|
|
TODO: use a custom type, as |
|
ChaosStatus
Field | Description |
---|---|
|
Conditions represents the current global condition of the chaos |
|
Experiment records the last experiment state. |
ClockSpec
Field | Description |
---|---|
|
the pid of target program. |
|
specifies the length of time offset. |
|
the identifier of the particular clock on which to act. More clock description in linux kernel can be found in man page of clock_getres, clock_gettime, clock_settime. Muti clock ids should be split with "," |
ConcurrencyPolicy (string)
ConditionalBranch
Field | Description |
---|---|
|
Target is the name of other template, if expression is evaluated as true, this template will be spawned. |
|
Expression is the expression for this conditional branch, expected type of result is boolean. If expression is empty, this branch will always be selected/the template will be spawned. |
ConditionalBranchStatus
Field | Description |
---|---|
|
|
|
ConditionalBranchesStatus
Field | Description |
---|---|
|
|
|
ContainerSelector
Field | Description |
---|---|
|
|
|
ContainerNames indicates list of the name of affected container. If not set, all containers will be injected |
CorruptSpec
CorruptSpec defines detail of a corrupt action
Field | Description |
---|---|
|
|
|
DNSChaos
DNSChaos is the Schema for the networkchaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a pod chaos experiment |
|
Most recently observed status of the chaos experiment about pods |
DNSChaosSpec
DNSChaosSpec defines the desired state of DNSChaos
Field | Description |
---|---|
|
Action defines the specific DNS chaos action. Supported action: error, random Default action: error |
|
|
|
Duration represents the duration of the chaos action |
|
Choose which domain names to take effect, support the placeholder ? and wildcard , or the Specified domain name. Note: 1. The wildcard * must be at the end of the string. For example, chaos-.org is invalid. 2. if the patterns is empty, will take effect on all the domain names. For example: The value is ["google.com", "github.*", "chaos-mes?.org"], will take effect on "google.com", "github.com" and "chaos-mesh.org" |
DNSChaosStatus
DNSChaosStatus defines the observed state of DNSChaos
Field | Description |
---|---|
|
DelaySpec
DelaySpec defines detail of a delay action
Field | Description |
---|---|
|
|
|
|
|
|
|
DesiredPhase (string)
Direction (string)
Direction represents traffic direction from source to target, it could be netem, delay, loss, duplicate, corrupt or partition, check comments below for detail direction flow.
DiskFileSpec
Field | Description |
---|---|
|
specifies how many units of data will write into the file path. support unit: c=1, w=2, b=512, kB=1000, K=1024, MB=1000*1000, M=1024*1024, GB=1000*1000*1000, G=1024*1024*1024 BYTES. example : 1M |
512kB |
|
DiskFillSpec
Field | Description |
---|---|
|
|
|
fill disk by fallocate |
DiskPayloadSpec
Field | Description |
---|---|
|
|
|
specifies the number of process work on writing, default 1, only 1-255 is valid value |
DuplicateSpec
DuplicateSpec defines detail of a duplicate action
Field | Description |
---|---|
|
|
|
EmbedChaos
Field | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ExpInfo
Field | Description |
---|---|
|
the experiment ID |
|
the subAction, generate automatically |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ExperimentStatus
Field | Description |
---|---|
|
|
|
Records are used to track the running status |
FailKernRequest
FailKernRequest defines the injection conditions
Field | Description |
---|---|
|
FailType indicates what to fail, can be set to '0' / '1' / '2' If |
|
Headers indicates the appropriate kernel headers you need. Eg: "linux/mmzone.h", "linux/blkdev.h" and so on |
|
Callchain indicate a special call chain, such as: ext4_mount → mount_subtree → … → should_failslab With an optional set of predicates and an optional set of parameters, which used with predicates. You can read call chan and predicate examples from https://github.com/chaos-mesh/bpfki/tree/develop/examples to learn more. If no special call chain, just keep Callchain empty, which means it will fail at any call chain with slab alloc (eg: kmalloc). |
|
Probability indicates the fails with probability. If you want 1%, please set this field with 1. |
|
Times indicates the max times of fails. |
FileType (string)
FileType represents type of a file
FillingType (string)
FillingType represents type of data is filled for incorrectness
Filter
Filter represents a filter of IOChaos action, which will define the scope of an IOChaosAction
Field | Description |
---|---|
|
Path represents a glob of injecting path |
|
Methods represents the method that the action will inject in |
|
Percent represents the percent probability of injecting this action |
Frame
Frame defines the function signature and predicate in function’s body
Field | Description |
---|---|
|
Funcname can be find from kernel source or |
|
Parameters is used with predicate, for example, if you want to inject slab error in |
|
Predicate will access the arguments of this Frame, example with Parameters’s, you can set it to |
GCPChaos
GCPChaos is the Schema for the gcpchaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
GCPChaosAction (string)
GCPChaosAction represents the chaos action about gcp.
GCPChaosSpec
GCPChaosSpec is the content of the specification for a GCPChaos
Field | Description |
---|---|
|
Action defines the specific gcp chaos action. Supported action: node-stop / node-reset / disk-loss Default action: node-stop |
|
Duration represents the duration of the chaos action. |
|
SecretName defines the name of kubernetes secret. It is used for GCP credentials. |
|
GCPChaosStatus
GCPChaosStatus represents the status of a GCPChaos
Field | Description |
---|---|
|
|
|
The attached disk info strings. Needed in disk-loss. |
GCPSelector
Field | Description |
---|---|
|
Project defines the name of gcp project. |
|
Zone defines the zone of gcp project. |
|
Instance defines the name of the instance |
|
The device name of disks to detach. Needed in disk-loss. |
GenericSelectorSpec
GenericSelectorSpec defines some selectors to select objects.
Field | Description |
---|---|
|
Namespaces is a set of namespace to which objects belong. |
|
Map of string keys and values that can be used to select objects. A selector based on fields. |
|
Map of string keys and values that can be used to select objects. A selector based on labels. |
|
a slice of label selector expressions that can be used to select objects. A list of selectors based on set-based label expressions. |
|
Map of string keys and values that can be used to select objects. A selector based on annotations. |
HTTPChaos
HTTPChaos is the Schema for the HTTPchaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
HTTPChaosSpec
Field | Description |
---|---|
|
|
|
Target is the object to be selected and injected. |
|
|
|
Port represents the target port to be proxy of. |
|
Path is a rule to select target by uri path in http request. |
|
Method is a rule to select target by http method in request. |
|
Code is a rule to select target by http status code in response. |
|
RequestHeaders is a rule to select target by http headers in request. The key-value pairs represent header name and header value pairs. |
|
ResponseHeaders is a rule to select target by http headers in response. The key-value pairs represent header name and header value pairs. |
|
Duration represents the duration of the chaos action. |
HTTPChaosStatus
Field | Description |
---|---|
|
|
|
Instances always specifies podhttpchaos generation or empty |
IOChaos
IOChaos is the Schema for the iochaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
IOChaosAction
IOChaosAction defines an possible action of IOChaos
Field | Description |
---|---|
|
|
|
|
|
Faults represents the fault to inject |
|
Latency represents the latency to inject |
|
AttrOverride represents the attribution to override |
|
MistakeSpec represents the mistake to inject |
|
Source represents the source of current rules |
IOChaosSpec
IOChaosSpec defines the desired state of IOChaos
Field | Description |
---|---|
|
|
|
Action defines the specific pod chaos action. Supported action: latency / fault / attrOverride / mistake |
|
Delay defines the value of I/O chaos action delay. A delay string is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". |
|
Errno defines the error code that returned by I/O action. refer to: https://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Errors/unix_system_errors.html |
|
Attr defines the overrided attribution |
|
Mistake defines what types of incorrectness are injected to IO operations |
|
Path defines the path of files for injecting I/O chaos action. |
|
Methods defines the I/O methods for injecting I/O chaos action. default: all I/O methods. |
|
Percent defines the percentage of injection errors and provides a number from 0-100. default: 100. |
|
VolumePath represents the mount path of injected volume |
|
Duration represents the duration of the chaos action. It is required when the action is |
IOChaosStatus
IOChaosStatus defines the observed state of IOChaos
Field | Description |
---|---|
|
|
|
Instances always specifies podiochaos generation or empty |
IOChaosType (string)
IOChaosType represents the type of an IOChaos Action
IoFault
IoFault represents the fault to inject and their weight
Field | Description |
---|---|
|
|
|
IoMethod (string)
JVMChaos
JVMChaos is the Schema for the jvmchaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
JVMChaosAction (string)
JVMChaosAction represents the chaos action about jvm
JVMChaosSpec
JVMChaosSpec defines the desired state of JVMChaos
Field | Description |
---|---|
|
|
|
Duration represents the duration of the chaos action |
|
Action defines the specific jvm chaos action. Supported action: latency;return;exception;stress;gc;ruleData |
|
JVMParameter represents the detail about jvm chaos action definition |
JVMChaosStatus
JVMChaosStatus defines the observed state of JVMChaos
Field | Description |
---|---|
|
JVMClassMethodSpec
Field | Description |
---|---|
|
Java class |
|
the method in Java class |
JVMCommonSpec
Field | Description |
---|---|
|
the port of agent server |
|
the pid of Java process which need to attach |
JVMExceptionSpec
Field | Description |
---|---|
|
|
|
|
|
the exception which needs to throw for action |
JVMGCSpec
Field | Description |
---|---|
|
JVMLatencySpec
Field | Description |
---|---|
|
|
|
|
|
the latency duration for action 'latency', unit ms |
JVMParameter
JVMParameter represents the detail about jvm chaos action definition
Field | Description |
---|---|
|
byteman rule name, should be unique, and will use JVMChaos' name if not set |
|
Java class |
|
the method in Java class |
|
the return value for action 'return' |
|
the exception which needs to throw for action |
|
the latency duration for action 'latency', unit ms |
|
the CPU core number need to use, only set it when action is stress |
|
the memory type need to locate, only set it when action is stress, the value can be 'stack' or 'heap' |
|
the port of agent server, default 9277 |
|
JVMReturnSpec
Field | Description |
---|---|
|
|
|
|
|
the return value for action 'return' |
JVMRuleDataSpec
Field | Description |
---|---|
|
|
|
RuleData used to save the rule file’s data, will use it when recover |
JVMStressSpec
Field | Description |
---|---|
|
|
|
the CPU core number need to use, only set it when action is stress |
|
the memory type need to locate, only set it when action is stress, the value can be 'stack' or 'heap' |
KernelChaos
KernelChaos is the Schema for the kernelchaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a kernel chaos experiment |
|
Most recently observed status of the kernel chaos experiment |
KernelChaosSpec
KernelChaosSpec defines the desired state of KernelChaos
Field | Description |
---|---|
|
|
|
FailKernRequest defines the request of kernel injection |
|
Duration represents the duration of the chaos action |
KernelChaosStatus
KernelChaosStatus defines the observed state of KernelChaos
Field | Description |
---|---|
|
LossSpec
LossSpec defines detail of a loss action
Field | Description |
---|---|
|
|
|
MemoryStressor
MemoryStressor defines how to stress memory out
Field | Description |
---|---|
|
|
|
Size specifies N bytes consumed per vm worker, default is the total available memory. One can specify the size as % of total available memory or in units of B, KB/KiB, MB/MiB, GB/GiB, TB/TiB. |
|
extend stress-ng options |
MistakeSpec
MistakeSpec represents one type of mistake
Field | Description |
---|---|
|
Filling determines what is filled in the miskate data. |
|
There will be [1, MaxOccurrences] segments of wrong data. |
|
Max length of each wrong data segment in bytes |
NetworkBandwidthSpec
Field | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NetworkChaos
NetworkChaos is the Schema for the networkchaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a pod chaos experiment |
|
Most recently observed status of the chaos experiment about pods |
NetworkChaosAction (string)
NetworkChaosAction represents the chaos action about network.
NetworkChaosSpec
NetworkChaosSpec defines the desired state of NetworkChaos
Field | Description |
---|---|
|
|
|
Action defines the specific network chaos action. Supported action: partition, netem, delay, loss, duplicate, corrupt Default action: delay |
|
Device represents the network device to be affected. |
|
Duration represents the duration of the chaos action |
|
TcParameter represents the traffic control definition |
|
Direction represents the direction, this applies on netem and network partition action |
|
Target represents network target, this applies on netem and network partition action |
|
TargetDevice represents the network device to be affected in target scope. |
|
ExternalTargets represents network targets outside k8s |
NetworkChaosStatus
NetworkChaosStatus defines the observed state of NetworkChaos
Field | Description |
---|---|
|
|
|
Instances always specifies podnetworkchaos generation or empty |
NetworkCommonSpec
Field | Description |
---|---|
|
correlation is percentage (10 is 10%) |
|
the network interface to impact |
|
only impact egress traffic from these source ports, use a ',' to separate or to indicate the range, such as 80, 8001:8010. it can only be used in conjunction with -p tcp or -p udp |
|
only impact egress traffic to these destination ports, use a ',' to separate or to indicate the range, such as 80, 8001:8010. it can only be used in conjunction with -p tcp or -p udp |
|
only impact egress traffic to these IP addresses |
|
only impact traffic using this IP protocol, supported: tcp, udp, icmp, all |
|
only impact traffic to these hostnames |
NetworkCorruptSpec
Field | Description |
---|---|
|
|
|
percentage of packets to corrupt (10 is 10%) |
NetworkDNSSpec
Field | Description |
---|---|
|
update the DNS server in /etc/resolv.conf with this value |
|
map specified host to this IP address |
|
map this host to specified IP |
NetworkDelaySpec
Field | Description |
---|---|
|
|
|
jitter time, time units: ns, us (or µs), ms, s, m, h. |
|
delay egress time, time units: ns, us (or µs), ms, s, m, h. |
NetworkDuplicateSpec
Field | Description |
---|---|
|
|
|
percentage of packets to duplicate (10 is 10%) |
NetworkLossSpec
Field | Description |
---|---|
|
|
|
percentage of packets to loss (10 is 10%) |
NetworkPartitionSpec
Field | Description |
---|---|
|
the network interface to impact |
|
only impact traffic to these hostnames |
|
only impact egress traffic to these IP addresses |
|
specifies the partition direction, values can be 'from', 'to'. 'from' means packets coming from the 'IPAddress' or 'Hostname' and going to your server, 'to' means packets originating from your server and going to the 'IPAddress' or 'Hostname'. |
|
only impact egress traffic to these IP addresses |
|
only the packet which match the tcp flag can be accepted, others will be dropped. only set when the IPProtocol is tcp, used for partition. |
Phase (string)
PhysicalMachineChaos
PhysicalMachineChaos is the Schema for the physical machine chaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
Spec defines the behavior of a physical machine chaos experiment |
|
|
Most recently observed status of the chaos experiment |
PhysicalMachineChaosSpec
PhysicalMachineChaosSpec defines the desired state of PhysicalMachineChaos
Field | Description |
---|---|
|
|
|
|
|
ExpInfo string |
|
Duration represents the duration of the chaos action |
PhysicalMachineChaosStatus
PhysicalMachineChaosStatus defines the observed state of PhysicalMachineChaos
Field | Description |
---|---|
|
PhysicalMachineSelector
Field | Description |
---|---|
|
PodChaos
PodChaos is the control script`s spec.
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a pod chaos experiment |
|
Most recently observed status of the chaos experiment about pods |
PodChaosAction (string)
PodChaosAction represents the chaos action about pods.
PodChaosSpec
PodChaosSpec defines the attributes that a user creates on a chaos experiment about pods.
Field | Description |
---|---|
|
|
|
Action defines the specific pod chaos action. Supported action: pod-kill / pod-failure / container-kill Default action: pod-kill |
|
Duration represents the duration of the chaos action. It is required when the action is |
|
GracePeriod is used in pod-kill action. It represents the duration in seconds before the pod should be deleted. Value must be non-negative integer. The default value is zero that indicates delete immediately. |
PodChaosStatus
PodChaosStatus represents the current status of the chaos experiment about pods.
Field | Description |
---|---|
|
PodHttpChaos
PodHttpChaos is the Schema for the podhttpchaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
PodHttpChaosActions
PodHttpChaosAction defines possible actions of HttpChaos.
Field | Description |
---|---|
|
Abort is a rule to abort a http session. |
|
Delay represents the delay of the target request/response. A duration string is a possibly unsigned sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms", "2h45m". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". |
|
Replace is a rule to replace some contents in target. |
|
Patch is a rule to patch some contents in target. |
PodHttpChaosBaseRule
PodHttpChaosBaseRule defines the injection rule without source and port.
Field | Description |
---|---|
|
Target is the object to be selected and injected, <Request |
Response>. |
|
Selector contains the rules to select target. |
|
PodHttpChaosPatchActions
PodHttpChaosPatchActions defines possible patch-actions of HttpChaos.
Field | Description |
---|---|
Body is a rule to patch message body of target. |
|
|
Queries is a rule to append uri queries of target(Request only). For example: |
|
Headers is a rule to append http headers of target. For example: |
PodHttpChaosPatchBodyAction
PodHttpChaosPatchBodyAction defines patch body action of HttpChaos.
Field | Description |
---|---|
|
Type represents the patch type, only support |
|
Value is the patch contents. |
PodHttpChaosReplaceActions
PodHttpChaosReplaceActions defines possible replace-actions of HttpChaos.
Field | Description |
---|---|
|
Path is rule to to replace uri path in http request. |
|
Method is a rule to replace http method in request. |
|
Code is a rule to replace http status code in response. |
|
Body is a rule to replace http message body in target. |
|
Queries is a rule to replace uri queries in http request. For example, with value |
|
Headers is a rule to replace http headers of target. The key-value pairs represent header name and header value pairs. |
PodHttpChaosRule
PodHttpChaosRule defines the injection rule for http.
Field | Description |
---|---|
|
|
|
Source represents the source of current rules |
|
Port represents the target port to be proxy of. |
PodHttpChaosSelector
Field | Description |
---|---|
|
Port is a rule to select server listening on specific port. |
|
Path is a rule to select target by uri path in http request. |
|
Method is a rule to select target by http method in request. |
|
Code is a rule to select target by http status code in response. |
|
RequestHeaders is a rule to select target by http headers in request. The key-value pairs represent header name and header value pairs. |
|
ResponseHeaders is a rule to select target by http headers in response. The key-value pairs represent header name and header value pairs. |
PodHttpChaosSpec
PodHttpChaosSpec defines the desired state of PodHttpChaos.
Field | Description |
---|---|
|
Rules are a list of injection rule for http request. |
PodHttpChaosStatus
PodHttpChaosStatus defines the actual state of PodHttpChaos.
Field | Description |
---|---|
|
Pid represents a running tproxy process id. |
|
StartTime represents the start time of a tproxy process. |
|
|
|
PodHttpChaosTarget (string)
PodHttpChaosTarget represents the type of an HttpChaos Action
PodIOChaos
PodIOChaos is the Schema for the podiochaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
PodIOChaosSpec
PodIOChaosSpec defines the desired state of IOChaos
Field | Description |
---|---|
|
VolumeMountPath represents the target mount path It must be a root of mount path now. TODO: search the mount parent of any path automatically. TODO: support multiple different volume mount path in one pod |
|
TODO: support multiple different container to inject in one pod |
|
Actions are a list of IOChaos actions |
PodIOChaosStatus
Field | Description |
---|---|
|
Pid represents a running toda process id |
|
StartTime represents the start time of a toda process |
|
|
|
PodNetworkChaos
PodNetworkChaos is the Schema for the PodNetworkChaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a pod chaos experiment |
|
Most recently observed status of the chaos experiment about pods |
PodNetworkChaosSpec
PodNetworkChaosSpec defines the desired state of PodNetworkChaos
Field | Description |
---|---|
|
The ipset on the pod |
|
The iptables rules on the pod |
|
The tc rules on the pod |
PodNetworkChaosStatus
PodNetworkChaosStatus defines the observed state of PodNetworkChaos
Field | Description |
---|---|
|
|
|
PodSelector
Field | Description |
---|---|
|
Selector is used to select pods that are used to inject chaos action. |
|
Mode defines the mode to run chaos action. Supported mode: one / all / fixed / fixed-percent / random-max-percent |
|
Value is required when the mode is set to |
PodSelectorSpec
PodSelectorSpec defines the some selectors to select objects. If the all selectors are empty, all objects will be used in chaos experiment.
Field | Description |
---|---|
|
|
|
Nodes is a set of node name and objects must belong to these nodes. |
|
Pods is a map of string keys and a set values that used to select pods. The key defines the namespace which pods belong, and the each values is a set of pod names. |
|
Map of string keys and values that can be used to select nodes. Selector which must match a node’s labels, and objects must belong to these selected nodes. |
|
PodPhaseSelectors is a set of condition of a pod at the current time. supported value: Pending / Running / Succeeded / Failed / Unknown |
ProcessSpec
Field | Description |
---|---|
|
the process name or the process ID |
|
the signal number to send |
RawIPSet
RawIPSet represents an ipset on specific pod
Field | Description |
---|---|
|
The name of ipset |
|
The contents of ipset |
|
The name and namespace of the source network chaos |
RawIptables
RawIptables represents the iptables rules on specific pod
Field | Description |
---|---|
|
The name of iptables chain |
|
The name of related ipset |
|
The block direction of this iptables rule |
|
Device represents the network device to be affected. |
|
RawRuleSource
RawRuleSource represents the name and namespace of the source network chaos
Field | Description |
---|---|
|
RawTrafficControl
RawTrafficControl represents the traffic control chaos on specific pod
Field | Description |
---|---|
|
The type of traffic control |
|
|
|
The name of target ipset |
|
The name and namespace of the source network chaos |
|
Device represents the network device to be affected. |
Record
Field | Description |
---|---|
|
|
|
|
|
ReorderSpec
ReorderSpec defines details of packet reorder.
Field | Description |
---|---|
|
|
|
|
|
Schedule
Schedule is the cronly schedule object
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
ScheduleItem
Field | Description |
---|---|
|
|
|
ScheduleSpec
ScheduleSpec is the specification of a schedule object
Field | Description |
---|---|
|
|
|
|
|
|
|
|
|
TODO: use a custom type, as |
|
ScheduleStatus
ScheduleStatus is the status of a schedule object
Field | Description |
---|---|
|
|
|
ScheduleTemplateType (string)
SelectorMode (string)
SelectorMode represents the mode to run chaos action.
StressCPUSpec
Field | Description |
---|---|
|
specifies P percent loading per CPU worker. 0 is effectively a sleep (no load) and 100 is full loading. |
|
specifies N workers to apply the stressor. |
|
extend stress-ng options |
StressChaos
StressChaos is the Schema for the stresschaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a time chaos experiment |
|
Most recently observed status of the time chaos experiment |
StressChaosSpec
StressChaosSpec defines the desired state of StressChaos
Field | Description |
---|---|
|
|
|
Stressors defines plenty of stressors supported to stress system components out. You can use one or more of them to make up various kinds of stresses. At least one of the stressors should be specified. |
|
StressngStressors defines plenty of stressors just like |
|
Duration represents the duration of the chaos action |
StressChaosStatus
StressChaosStatus defines the observed state of StressChaos
Field | Description |
---|---|
|
|
|
Instances always specifies stressing instances |
StressInstance
StressInstance is an instance generates stresses
Field | Description |
---|---|
|
UID is the instance identifier |
|
StartTime specifies when the instance starts |
StressMemorySpec
Field | Description |
---|---|
|
specifies N bytes consumed per vm worker, default is the total available memory. One can specify the size as % of total available memory or in units of B, KB/KiB, MB/MiB, GB/GiB, TB/TiB.. |
|
extend stress-ng options |
Stressor
Stressor defines common configurations of a stressor
Field | Description |
---|---|
|
Workers specifies N workers to apply the stressor. Maximum 8192 workers can run by stress-ng |
Stressors
Stressors defines plenty of stressors supported to stress system components out. You can use one or more of them to make up various kinds of stresses
Field | Description |
---|---|
|
MemoryStressor stresses virtual memory out |
|
CPUStressor stresses CPU out |
Task
Field | Description |
---|---|
|
Container is the main container image to run in the pod |
|
Volumes is a list of volumes that can be mounted by containers in a template. |
TcParameter
TcParameter represents the parameters for a traffic control chaos
Field | Description |
---|---|
|
Delay represents the detail about delay action |
|
Loss represents the detail about loss action |
|
DuplicateSpec represents the detail about loss action |
|
Corrupt represents the detail about corrupt action |
|
Bandwidth represents the detail about bandwidth control action |
TcType (string)
TcType the type of traffic control
Template
Field | Description |
---|---|
|
|
|
|
|
|
|
Task describes the behavior of the custom task. Only used when Type is TypeTask. |
|
Children describes the children steps of serial or parallel node. Only used when Type is TypeSerial or TypeParallel. |
|
ConditionalBranches describes the conditional branches of custom tasks. Only used when Type is TypeTask. |
|
EmbedChaos describe the chaos to be injected with chaos nodes. Only used when Type is Type<Something>Chaos. |
|
Schedule describe the Schedule(describing scheduled chaos) to be injected with chaos nodes. Only used when Type is TypeSchedule. |
TemplateType (string)
TimeChaos
TimeChaos is the Schema for the timechaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a time chaos experiment |
|
Most recently observed status of the time chaos experiment |
TimeChaosSpec
TimeChaosSpec defines the desired state of TimeChaos
Field | Description |
---|---|
|
|
|
TimeOffset defines the delta time of injected program. It’s a possibly signed sequence of decimal numbers, such as "300ms", "-1.5h" or "2h45m". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". |
|
ClockIds defines all affected clock id All available options are ["CLOCK_REALTIME","CLOCK_MONOTONIC","CLOCK_PROCESS_CPUTIME_ID","CLOCK_THREAD_CPUTIME_ID", "CLOCK_MONOTONIC_RAW","CLOCK_REALTIME_COARSE","CLOCK_MONOTONIC_COARSE","CLOCK_BOOTTIME","CLOCK_REALTIME_ALARM", "CLOCK_BOOTTIME_ALARM"] Default value is ["CLOCK_REALTIME"] |
|
Duration represents the duration of the chaos action |
TimeChaosStatus
TimeChaosStatus defines the observed state of TimeChaos
Field | Description |
---|---|
|
Timespec
Timespec represents a time
Field | Description |
---|---|
|
|
|
Workflow
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a workflow |
|
Most recently observed status of the workflow |
WorkflowCondition
Field | Description |
---|---|
|
|
|
|
|
WorkflowConditionType (string)
WorkflowNode
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a node of workflow |
|
Most recently observed status of the workflow node |
WorkflowNodeCondition
Field | Description |
---|---|
|
|
|
WorkflowNodeConditionType (string)
WorkflowNodeSpec
Field | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WorkflowNodeStatus
Field | Description |
---|---|
|
ChaosResource refs to the real chaos CR object. |
|
ConditionalBranchesStatus records the evaluation result of each ConditionalBranch |
|
ActiveChildren means the created children node |
|
Children is necessary for representing the order when replicated child template references by parent template. |
|
Represents the latest available observations of a workflow node’s current state. |
WorkflowSpec
Field | Description |
---|---|
|
|
|
WorkflowStatus
Field | Description |
---|---|
|
|
|
|
|
|
|
Represents the latest available observations of a workflow’s current state. |