gVisor on Kubernetes: Node Ready does not prove the runtime handler exists

How to check a node before an agent sandbox is scheduled on it, and what we saw when the handler was missing.

Plori

Installing gVisor on a Kubernetes node does not show that the node can run a gVisor Pod. We found this in controlled node tests at Plori on September 6, 2026.

The short answer

  • Verify the effective runtime configuration during the current boot before the scheduler sends an agent sandbox to the node.
  • Then run a real Kubernetes Pod through the declared RuntimeClass.
  • Node Ready and install markers do not prove the handler exists. In our tests a RuntimeClass existed while its handler was absent, and an install success marker remained after the handler was gone.

What each check shows

Check What it establishes
Installed gVisor files The node has the runtime and its required files
Effective containerd handler The active CRI configuration can select gVisor
Kubernetes RuntimeClass A Pod can request that named handler
Successful Pod and DNS test Scheduling, runtime execution and name resolution worked for the tested workload

When it applies

  1. After a reboot: tie the proof to the node identity and the current boot. In our run, admission rejected the old proof after a reboot, qualified the new boot, and passed the independent validation again.
  2. If the handler disappears: we removed the handler on a disposable node and left its readiness label. A new protected Pod failed sandbox creation with a missing-handler error. We saw no fallback to the default runtime.
  3. Limits: the tests do not establish continuous runtime health, qualify every storage and network integration, or constitute a security assessment. Repeat them after changes to the node image, container runtime, gVisor release or cluster networking.

The full post has the six-step checklist for qualifying a fresh node, and the two ordering failures we hit.

Read the full post

Try plori.ai

Subscribe to Plori Engineering

Engineering notes building AI agents in the cloud

Free. Unsubscribe anytime.

Keep reading

All issues →
  1. Scion-style merges: one comparison takes 1.93 s at 100,000 files

    What we took from Anthropic's Scion for Workspaces, and the merge cost we measured before changing anything.

  2. Claude Code handed 0 of 240 unnamed-server prompts to our MCP server, then 21

    What Claude Code shows the model about MCP tools, and what a rewrite of our server text changed in 240 runs.

  3. AI agent files: a local disk, saved to object storage every 60 seconds

    What a crash can lose, how results are accepted, and the start and save times we measured.