Skip to content

Container View (L2)

This view maps major IMP runtime components and their responsibilities.

Components

  • Kubernetes API Server + etcd: stores CR specs, status, and watch streams.
  • IMP Operator: watches resources, resolves dependencies, orchestrates state transitions.
  • IMP Agent (DaemonSet): executes host-level actions on worker nodes.
  • Firecracker runtime: runs microVM instances.
  • Networking layer (ImpNetwork, CNI integration): allocates addresses and connects workloads.

Interaction Model

  1. User creates or updates IMP resources (ImpVM, ImpNetwork, snapshots, pools).
  2. Operator receives watch events and computes desired node/runtime/network actions.
  3. Operator coordinates with agents to execute those actions on target nodes.
  4. Agent provisions runtime and networking; returns outcomes.
  5. Operator updates status conditions and emits events/metrics.

Design Notes

  • Control/data plane split keeps reconcile logic centralized and execution local.
  • Node-local agents reduce latency for runtime and networking operations.
  • CRD status fields are the canonical operator-facing API for current state.
  • Event + metric streams give fast feedback for SRE and platform teams.

Operational Implications

  • Controller health affects convergence speed.
  • Agent health affects node-level execution reliability.
  • Cluster networking choice influences feature availability and behavior.