百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
S

sentinel

> 云原生
开源

Kubernetes的自愈边缘计算剂,具有预测性故障探测和分区抗力

365 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

Kubernetes的自愈边缘计算剂,具有预测性故障探测和分区抗力

Sentinel

Predictive failure detection and autonomous orchestration for Kubernetes edge nodes.

What it does

Sentinel runs on each edge node and does three things:

  1. Predicts failures - Monitors CPU thermals, memory pressure, disk I/O, and network health. Uses lightweight statistical models to predict failures before they happen.

  2. Survives partitions - When nodes lose contact with the control plane, they form a local consensus group and continue operating autonomously.

  3. Takes action - Triggers preemptive workload migrations, cordons unhealthy nodes, and logs decisions for reconciliation when connectivity returns.

Why

Kubernetes assumes the control plane is always reachable. Edge environments break this assumption constantly - spotty networks, power issues, harsh conditions. When a node goes "Unknown", Kubernetes stops making decisions for it.

Cloud AIOps tools assume unlimited resources. Edge nodes run K8s + workloads + monitoring in 4GB RAM with no datacenter cooling.

Sentinel fills the gap.

What's different

Most edge/IoT platforms focus on deployment and connectivity. Most AIOps tools assume cloud-scale resources. Sentinel combines ideas from both:

  • Predictive, not reactive - Catches thermal throttling and memory pressure before they cause failures
  • Autonomous, not dependent - Continues operating during control plane partitions instead of going dark
  • Lightweight, not bloated - Runs statistical models in <64MB RAM, no GPUs or cloud inference needed
  • Consensus-aware - Nodes coordinate decisions locally using Raft-lite when disconnected

Quick Start

bash
# Build
make build

# Run locally
./bin/predictor --node=my-node

# With config file
./bin/predictor --config=config.yaml

# Deploy to cluster
helm install sentinel ./deploy/helm/sentinel

Configuration

Sentinel supports YAML/JSON config files with CLI flag overrides:

yaml
node:
  name: edge-node-1

server:
  listen: ":9101"
  metrics: ":9100"

predictor:
  interval: 1s
  warn_threshold: 0.3
  critical_threshold: 0.7
  risk_weights:
    thermal: 0.3
    memory: 0.3
    disk: 0.2
    network: 0.2

consensus:
  enabled: true
  addr: ":9200"
  peers:
    - edge-node-2:9200
    - edge-node-3:9200

logging:
  level: info
  format: json

CLI flags:

bash
--config          Config file path
--node            Node name
--listen          API listen address (default :9101)
--metrics         Prometheus metrics address (default :9100)
--interval        Collection interval (default 1s)
--log-level       Log level: debug, info, warn, error
--log-format      Log format: text, json
--consensus-addr  Consensus listen address
--peers           Comma-separated peer addresses

Architecture

…

API

Endpoint Description
/health Detailed health status with component checks
/healthz Liveness probe
/readyz Readiness probe
/prediction Current failure prediction
/metrics/latest Raw metrics snapshot
/consensus Consensus state and peers
/decisions Autonomous decisions log
/metrics Prometheus metrics

Metrics

Prediction:

  • sentinel_prediction_failure_probability - 0 to 1
  • sentinel_prediction_confidence - model confidence
  • sentinel_prediction_time_to_failure_seconds - estimated TTF
  • sentinel_prediction_preemptive_migrations_total - migration count

Partition:

  • sentinel_partition_detected - 0 or 1
  • sentinel_partition_duration_seconds - how long partitioned
  • sentinel_consensus_is_leader - leader status
  • sentinel_partition_autonomous_decisions_total - decisions made offline

Rate limiting:

  • sentinel_ratelimit_dropped_total - messages dropped by rate limiter
  • sentinel_ratelimit_enabled - rate limiter state

Key Features

Circuit Breaker - Protects against cascading failures when the K8s API is unreachable. Configurable thresholds with automatic recovery.

Exponential Backoff - Peer reconnection uses backoff with jitter to prevent thundering herd during network recovery.

Rate Limiting - Token bucket rate limiter on consensus messages to handle bursty traffic.

Structured Logging - JSON or text output with log levels, component tags, and context propagation.

Health Checks - Kubernetes-native liveness and readiness probes with detailed component status.

Development

bash
make test          # Run tests
make build         # Build for current platform
make build-arm64   # Build for ARM64 edge devices
make docker-build  # Build container image

Requires Go 1.21+.

License

MIT

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Goaiopsdistributed-systemsedge-computingfailure-prediction

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类云原生
定价开源

> 相关工具

K
Kubernetes
容器编排事实标准
H
Helm
Kubernetes 包管理器
S
seaweedfs
SeaweedFS is a distributed storage system for object storage (S3), file systems, and Iceberg tables,