Overview
The Chaos Dashboard provides a web-based interface for creating, managing, and monitoring chaos experiments, workflows, and schedules. It offers an intuitive alternative to kubectl commands and YAML manifests.Accessing the Dashboard
Port Forward Method
The most common way to access the dashboard in development and testing environments:- Default: http://localhost:2333
- Custom port: http://localhost:8080
Service Exposure
For production environments, expose the dashboard through a LoadBalancer or Ingress:Dashboard Features
Experiment Management
The dashboard allows you to:Create Experiments
Create Experiments
- Visual experiment builder with form-based interface
- Support for all chaos types (Pod, Network, Stress, I/O, etc.)
- Real-time YAML preview
- Selector validation and testing
- Duration and scheduling configuration
View Active Experiments
View Active Experiments
- List all running chaos experiments
- Filter by namespace, type, and status
- Real-time status updates
- Quick access to experiment details
Monitor Experiment Status
Monitor Experiment Status
- Detailed experiment information
- Target pod selection results
- Injection status and errors
- Event timeline
- Logs and debugging information
Modify and Delete
Modify and Delete
- Pause/resume experiments
- Update experiment parameters
- Delete experiments
- Archive completed experiments
Workflow Management
Workflow Designer
Create and visualize complex workflows:
- Drag-and-drop workflow builder
- Template library for common patterns
- Visual topology display
- Serial and parallel task orchestration
- Real-time execution monitoring
- Node status indicators
- Green nodes: Completed successfully
- Blue nodes: Currently running
- Red nodes: Failed or aborted
- Gray nodes: Pending execution
Schedule Management
Schedule Configuration
Manage scheduled chaos experiments:
- Create recurring schedules with cron syntax
- Cron expression validator
- Schedule history and execution logs
- Next execution time preview
- Pause/resume schedules
- View active scheduled experiments
Event Timeline
Track all chaos-related events:- Experiment creation and deletion
- Workflow state changes
- Schedule executions
- Error events and failures
- System notifications
- Time range
- Namespace
- Event type
- Severity level
Namespace Overview
Dashboard homepage displays:- Total experiments by namespace
- Active experiments count
- Scheduled experiments
- Running workflows
- Recent events
- System health indicators
Dashboard Architecture
The Chaos Dashboard consists of several components:API Server
RESTful API backend (default port 2333) that handles:
- Experiment CRUD operations
- Workflow management
- Schedule operations
- Authentication and authorization
- Metrics collection
UI Server
Serves the React-based web interface with:
- Experiment designer
- Workflow visualizer
- Event viewer
- Metrics dashboards
Configuration
The dashboard can be configured through environment variables or Helm values:Host address for the dashboard server to bind to.
Port for the dashboard server to listen on.
Enable pprof profiling endpoints at
/debug/pprof.Enable authentication and RBAC checks.
Helm Configuration
API Endpoints
The dashboard exposes RESTful APIs that can be used programmatically:List or create chaos experiments
Get, update, or delete a specific experiment
List or create workflows
Manage specific workflow
List or create schedules
Query chaos-related events
List available namespaces
Swagger/OpenAPI documentation
Security Considerations
Authentication Options
- Namespace Isolation: Deploy dashboard in a restricted namespace
- RBAC: Configure Kubernetes RBAC to limit dashboard service account
- Network Policies: Restrict network access to dashboard pods
- GCP Authentication: Built-in support for Google Cloud IAP
- Reverse Proxy: Use nginx or similar for authentication layer
GCP Authentication
Troubleshooting
Cannot Access Dashboard
Cannot Access Dashboard
Check port-forward:Verify service:
Dashboard Shows No Data
Dashboard Shows No Data
Check RBAC permissions:Verify controller is running:
UI Not Loading
UI Not Loading
Dashboard UI may not be built in the container image. Check:Ensure you’re using an official release image with UI included.
Metrics Integration
The dashboard collects HTTP request metrics exposed via Prometheus:chaos_dashboard_http_request_duration_seconds- HTTP request latency histogram- Labels:
path,method,status
- Labels:
Next Steps
Workflows
Create complex workflows through the dashboard
Scheduling
Configure recurring experiments
Monitoring
Set up metrics and observability
Status Checks
Add validation to your experiments