Each experiment is a native Kubernetes CRD. All security controls are
declarative and auditable, ensuring that chaos experiments never affect
critical workloads without explicit approval.
Chaos Engineering in the AIOps Context
Remediation Validation
After fixing an incident, re-inject the failure to confirm that
automatic remediation works.
Resilience Testing
Run recurring experiments to ensure the platform detects
and responds to known failures.
Automated Game Days
Schedule experiments via cron to simulate regular game days without
manual intervention.
Recovery Baseline
Measure actual recovery times to establish SLOs and identify
bottlenecks.
ChaosExperiment CRD
Complete Specification
7 Experiment Types
1. Pod Kill
Deletes pods randomly using the Fisher-Yates shuffle algorithm withcrypto/rand for truly random selection.
2. Pod Failure
Graceful pod deletion, respecting theterminationGracePeriodSeconds configured in the PodSpec.
3. CPU Stress
Creates astress-ng pod on the same node as the target pod to simulate CPU contention.
4. Memory Stress
Creates astress-ng pod that allocates memory on the same node as the target.
5. Network Delay
Simulates network latency using annotations on the target pods. The sidecar or CNI plugin interprets the annotation to inject delay.6. Network Loss
Simulates network packet loss via annotations.7. Disk Stress
Creates astress-ng pod that generates intensive disk I/O on the same node.
Type Summary
Safety Checks
Safety checks are the protection layer that prevents chaos experiments from causing real damage.MinHealthyPods
Ensures a minimum number of pods remain healthy during the experiment.MaxConcurrentExperiments
Prevents chaos storms by limiting the number of simultaneous experiments in the namespace.AbortOnIssueDetected
If AIOps detects a new issue unrelated to the experiment during execution, the experiment is immediately aborted.RequireApproval
Integrates with theApprovalRequest system to require human approval before executing the experiment.
ApprovalRequest CR and waits for approval before proceeding:
AllowedNamespaces / BlockedNamespaces
- AllowedNamespaces
- BlockedNamespaces
Whitelist of namespaces where experiments can be executed. If defined,
only these namespaces are allowed.
Post-Experiment Verification
VerifyRecovery
After the experiment completes, the controller verifies whether the deployment returned to a healthy state.RecoveryTimeout
Maximum wait time for recovery verification. If the deployment does not return to a healthy state within this period, the experiment is marked asFailed.
RunRemediationTest
When enabled together withlinkedIssueRef, the controller:
1
Re-inject the failure
Executes the same experiment again to recreate the original incident scenario.
2
Wait for detection
Waits for the AIOps platform to automatically detect the anomaly.
3
Verify remediation
Confirms that automatic remediation was triggered and resolved the problem.
4
Record result
Updates the
ChaosExperiment.Status with the validation result.State Machine
DryRun Mode
DryRun mode executes all experiment logic (safety checks, pod selection, command generation) without applying any real changes to the cluster.Schedule (Recurring Experiments)
Theschedule field accepts standard cron expressions for recurring execution:
Each scheduled execution creates a new
ChaosExperiment CR with a timestamp suffix.
LinkedIssueRef
ThelinkedIssueRef field connects the experiment to a specific incident, allowing validation that the applied remediation actually works.
linkedIssueRef is defined, the controller:
- Fetches the
IssueCR and associatedRemediationPlan - Records the connection in the experiment status
- If
runRemediationTest: true, validates that AIOps detects and remediates automatically - Updates the
IssueCR with the validation result
Complete YAML Examples
Pod Kill with Safety Checks
Pod Kill with Safety Checks
Weekly Scheduled CPU Stress
Weekly Scheduled CPU Stress
Post-Remediation Validation
Post-Remediation Validation
DryRun for Configuration Validation
DryRun for Configuration Validation
Metrics
The chaos engineering module exposes Prometheus metrics for observability and resilience tracking.Alert Examples
Best Practices
1
Start with DryRun
Always run a DryRun before real experiments to validate safety checks
and target selection.
2
Staging First
Run experiments in staging before enabling in higher-tier environments.
Use
allowedNamespaces for enforcement.3
Conservative Safety Checks
Configure
minHealthyPods with margin. If the deployment has 5 replicas
and needs 3 to operate, configure minHealthyPods: 3.4
Schedule Game Days
Use
schedule for recurring experiments. Resilience is not a one-time
test โ it is a continuous practice.5
Validate Remediations
After fixing an incident, use
linkedIssueRef + runRemediationTest
to confirm that the fix works under failure.Next Steps
Decision Engine
Understand how chaos results influence the Pattern Store and engine
confidence.
Multi-Cluster Federation
Run chaos experiments on specific clusters with per-tier policies.
Audit and Compliance
All experiments generate immutable AuditEvents for complete
traceability.
AIOps Platform
Return to the AIOps platform overview.