Enterprise Multi-Cluster Kubernetes Monitoring with Fine-Grained Access Control
ClusterPulse is a comprehensive monitoring platform designed for organizations managing multiple Kubernetes and OpenShift clusters. It provides real-time visibility into cluster health, resource utilization, and operational status while enforcing granular Role-Based Access Control (RBAC) to ensure teams only see what they need to see.
Organizations operating multiple Kubernetes clusters face several critical challenges:
- Visibility Gaps: No unified view across all clusters, leading to blind spots in infrastructure monitoring
- Security Concerns: Difficulty implementing fine-grained access control across multiple clusters
- Operational Overhead: Teams waste time switching between different tools and contexts
- Compliance Requirements: Need to restrict data access based on roles, teams, and regulatory requirements
- Resource Inefficiency: Inability to spot underutilized resources across the fleet
ClusterPulse addresses these challenges by providing:
- 📊 Unified Multi-Cluster Dashboard: Monitor all your clusters from a single pane of glass with real-time metrics and health status
- 🔒 Enterprise-Grade RBAC: Define sophisticated access policies that filter visibility down to the namespace, node, and pod level
- ⚡ Real-Time Performance: Sub-second response times (cluster size dependent) with intelligent caching and optimized data structures
- 🔄 Automatic Discovery: Automatically discovers and monitors nodes, operators, namespaces, and resources
- 📈 Scalable Architecture: Designed to handle hundreds of clusters with thousands of nodes
ClusterPulse follows a microservices architecture with four core components:
Component | Technology | Purpose |
---|---|---|
Cluster Controller | Go | Connects to target clusters, collects metrics, and stores in Redis |
Policy Controller | Python, Kopf | Compiles RBAC policies into optimized structures for real-time evaluation |
API | Python, FastAPI | Serves filtered cluster data based on user permissions |
Frontend | React, TypeScript, PatternFly | Provides intuitive dashboard for cluster monitoring |
- Cluster Controller connects to configured clusters and continuously collects metrics
- Policy Engine watches for policy changes and compiles them for fast evaluation
- API combines cluster data with policies to serve filtered, authorized responses
- Frontend displays real-time, personalized views based on user permissions
- Monitor unlimited OpenShift clusters
- Automatic detection of cluster version and platform
- Real-time health status with color-coded indicators
- Subject-Based Policies: Define access for users, groups, and service accounts
- Resource Filtering: Control visibility of nodes, operators, namespaces, and pods
- Pattern Matching: Use wildcards and regex for flexible resource selection
- Priority Resolution: Handle policy conflicts with priority-based ordering
- X-Second Auto-Refresh: Modifiable reconciliation timer
- Resource Metrics: CPU, memory, storage utilization
- Node Health: Track node status, conditions, and resource pressure
- Operator Status: Monitor OLM-managed operators across namespaces
- Registry Health: Track container registry availability
- OAuth2 Integration: Seamless authentication with enterprise identity providers
- Dark Mode Support: Reduce eye strain with theme preferences
- Responsive Design: Access from desktop, tablet, or mobile devices
- Prometheus Metrics: Export metrics for integration with existing monitoring
- High Availability: Redis-backed storage with clustering support
ClusterPulse can be deployed through OLM in the OperatorHub. It is currently inside the community operator index!
git clone https://github.com/ClusterPulse/operator.git
cd operator/
make install # Will install CRDs
helm install clusterpulse ./helm-charts/clusterpulse # Will install ClusterPulse
Detailed documentation for each component:
- API Documentation - Backend API service and RBAC engine
- Frontend Documentation - React dashboard and UI components
- Cluster Controller Documentation - Cluster connection manager
- Policy Engine Documentation - Policy compilation and management
- Backend: Python (FastAPI)
- Controllers: Python (Kopf), Go
- Frontend: React, TypeScript
- Storage: Redis
- Container: Kubernetes/OpenShift
- Protocols: REST API, WebSocket (future)
We welcome contributions! Please see our Contributing Guide for details. - TBD
- Additional cluster platform support
- Enhanced visualizations and charts
- Performance optimizations
- Documentation improvements
- Testing and quality assurance - (I've been bad about unit tests sorry >_<)
ClusterPulse is released under the Apache 2.0 License.
- Issues: GitHub Issues
ClusterPulse - Bringing clarity to multi-cluster Kubernetes operations.