Skip to content

Health Scanning

The health scanner is a read-only best-practices engine inspired by Popeye. It checks your cluster against a set of rules and reports findings grouped by severity.

It never mutates cluster state.

LevelMeaning
CriticalImmediate action required - pods in CrashLoopBackOff, nodes not ready
WarningShould be addressed - over-provisioned resources, deprecated APIs
InfoBest practice suggestion - missing labels, no PDB configured
  • Container resource constraints (missing requests, limits, excessive over-provisioning)
  • Pod anti-affinity and spread constraints
  • Deprecated API versions
  • Image pull policies and tag usage
  • Service account token auto-mounting
  • NetworkPolicy coverage
  • PodDisruptionBudget presence
  • Liveness and readiness probe configuration
  • Node conditions and taints

Filter findings by:

  • Namespace - Focus on specific namespaces
  • Category - Resource type grouping
  • Severity - Show only critical, warning, or info
  • Resource - Search for specific resource names

The scanner is extensible with custom check functions. Each check receives a resource and returns zero or more findings with severity, description, and remediation guidance.

Scans run in read-only mode and complete in seconds for typical clusters. You can:

  • Run on-demand - Click “Run Scan” from the Health page
  • Filter results - Drill into specific namespaces, categories, or severities
  • Export - Download findings as JSON for integration with ticketing systems
FindingSeverityRemediation
Pod web-abc has no resource requestsWarningAdd resources.requests to container spec
Deployment api uses deprecated extensions/v1beta1CriticalMigrate to apps/v1
Namespace payments has no NetworkPolicyInfoCreate a default-deny NetworkPolicy
Container sidecar has imagePullPolicy: Always with :latest tagWarningPin image to specific digest or version tag