Worker health
Interpret worker status and capacity, inspect Kubernetes probes and live logs, and collect evidence for support.
Loading documentation…
Use both the RestoreTrust worker detail page and Kubernetes status. The console shows whether a worker session is live and able to accept work; Kubernetes shows why its Pod or restore Jobs are unhealthy.
| Status | Meaning | Operator action |
|---|---|---|
| Created | The worker identity exists, but the agent has not connected | Complete the generated installation or inspect a failing agent Pod |
| Online | The agent has a live session and is sending heartbeats | Also check Accepting jobs and effective capacity |
| Offline | No live session remains | Check Deployment replicas, Pod state, logs, DNS, and outbound connectivity |
An Online worker is not necessarily ready for new Jobs. It can remain connected while temporarily draining, resynchronizing Kubernetes state, or protecting itself from a configuration or local buffering problem.
| Field | Meaning |
|---|---|
| Max parallel jobs | Capacity configured on the worker record |
| Advertised session capacity | Capacity reported by the connected agent |
| Effective claim capacity | Capacity RestoreTrust can currently use |
| Accepting jobs | Whether the worker is currently eligible for new checks |
| Last seen | Last successful session activity |
| Session lease until | Current connection lease shown by the worker detail page |
A healthy idle worker normally shows:
Effective capacity limits concurrent work; currently running Jobs consume slots but do not change the configured value.
The Agent image field shows the digest reported at the last session open. Update available means the digest differs from the image offered for new installations or could not be read; Update required means the agent cannot receive checks with the current execution protocol. An absent update status can mean the worker has never connected or no comparison image is configured. See Upgrade a worker before changing the Deployment.
The generated Deployment has:
A failed readiness probe removes the Pod from Ready but does not restart it. A failed liveness probe can restart the container.
Keep replicas: 1 and confirm that no second Pod uses the same identity.
The worker detail page's Logs tab reads the current agent container log on demand. It is available only while the worker has a live session and is not a historical log archive. You can request the last 10, 50, 100, or 500 lines and download the result.
From the cluster:
Use --previous after a container restart. Your cluster logging platform is the source for longer retention.
During a check, inspect the resources in the job namespace:
Normal behavior includes:
If the agent disconnects, running Kubernetes Jobs continue. The worker stops receiving new checks, reconnects, and reconciles existing Jobs when the agent returns. Do not delete an in-flight Job merely because the console temporarily shows Offline.
A check's terminal status and its worker slot have separate lifecycles. A slot can remain reserved while the agent finishes stopping containers, delivers terminal evidence, and receives cleanup approval. Job and Pod finalizers retain the evidence until that handoff completes; this also keeps their scratch PVCs alive.
If a workload never started, the agent can confirm the absence of both its Job and Pods so RestoreTrust can release the reservation and retry. Repeated unsuccessful starts end as Infrastructure error after the configured start-attempt limit, which is 10 by default. A retry does not create an unlimited sequence of fresh attempts.
For a finalized execution whose previously observed Job and Pods have disappeared, the agent can report that absence so its reservation is released. This does not release a still-running check. Do not manually remove evidence finalizers to recover capacity; inspect the retained resources and agent connection, and escalate a persistent reservation with the check and worker IDs.
Collect:
--previous after a restart;Redact Secret values, identity JSON, bearer tokens, backup paths when sensitive, and database credentials.