Common Issues
Troubleshoot Agent Sandbox from the platform lifecycle inward: Cluster Plugin state, controller, APIs, Sandbox conditions, managed Pods, and then workload dependencies.
Before every command, confirm the active cluster and namespace:
Run ModuleInfo checks against the global cluster. Run all controller, CRD, Sandbox, Pod, NetworkPolicy, RuntimeClass, and event checks against the target workload cluster.
TOC
ModuleInfo Does Not Become RunningSymptomChecksResolutionController Deployment Is Not ReadySymptomChecksResolutionCore or Extension CRDs Are MissingSymptomChecksResolutionExtension CRDs Exist but Resources Do Not ReconcileSymptomChecksResolutionSandbox Does Not Become ReadySymptomChecksResolutionImage Pull FailsSymptomChecksResolutionRBAC or ServiceAccount Is InsufficientSymptomChecksResolutionPodSecurity Rejects the WorkloadSymptomChecksResolutionNetworkPolicy Blocks DNS or the Target ServiceSymptomChecksResolutionshutdownTime Is Invalid or Already ExpiredSymptomChecksResolutionRuntimeClass Is Missing or Cannot ScheduleSymptomChecksResolutionCollect a Diagnostic SnapshotModuleInfo Does Not Become Running
Symptom
The Cluster Plugin installation or upgrade remains pending, failed, or reports a version different from v0.5.4-1.
Checks
On the global cluster:
Resolution
Resolve the ModuleInfo or AppRelease lifecycle error through the ACP Cluster Plugin workflow. Confirm that the selected package is v0.5.4-1 and that the target workload cluster is reachable. Do not bypass the platform by editing ModuleInfo, the Helm release, or the controller Deployment directly.
Controller Deployment Is Not Ready
Symptom
agent-sandbox-controller has unavailable replicas or its rollout times out.
Checks
On the workload cluster:
Resolution
Use Pod status and events to correct image pull, resource, scheduling, security, or configuration errors. If a node selector or toleration makes the controller unschedulable, change the Cluster Plugin settings with Update and wait for a new rollout.
Core or Extension CRDs Are Missing
Symptom
The API server returns “the server doesn't have a resource type” for Sandbox or extension resources.
Checks
Resolution
Confirm that the Cluster Plugin installation completed successfully. Reconcile the installation through ACP. Do not apply an unrelated upstream manifest on top of the ACP-managed installation and do not create ad hoc CRD versions.
Extension CRDs Exist but Resources Do Not Reconcile
Symptom
SandboxTemplate, SandboxWarmPool, or SandboxClaim objects are accepted, but status does not change.
Checks
Resolution
The controller arguments must contain --extensions=true. If not, use Cluster Plugin Update to enable extension controllers and wait for rollout completion. Also verify template and warm-pool reference names and required NetworkPolicies.
Sandbox Does Not Become Ready
Symptom
The Ready wait times out or the Sandbox reports Ready=False or DependenciesNotReady.
Checks
Inspect all Sandbox conditions:
Resolution
Follow the most specific Pod event or Sandbox condition. Common causes include image pull failures, PodSecurity rejection, unavailable resources, invalid scheduling constraints, missing RuntimeClass, PVC provisioning, or blocked dependencies. Do not interpret the presence of the Suspended condition as suspended state; inspect its boolean status.
Image Pull Fails
Symptom
The managed Pod reports ErrImagePull or ImagePullBackOff.
Checks
Resolution
Verify the image registry, repository, tag, target-cluster network path, registry credentials, and ServiceAccount image pull configuration. Use a trusted image available to the workload cluster. Do not disable image verification controls to hide a registry or credential error.
RBAC or ServiceAccount Is Insufficient
Symptom
The API returns Forbidden, a client cannot create Sandbox resources, or kubectl exec is denied.
Checks
Resolution
Grant only the required namespaced verbs through a dedicated Role and RoleBinding. Core-only users do not need extension-resource permissions. Do not grant cluster-admin and do not give business identities permission to edit CRDs or the controller Deployment.
PodSecurity Rejects the Workload
Symptom
Events report violates PodSecurity "restricted" or reject the generated Pod.
Checks
Resolution
Add a restricted-compatible security context: run as non-root, use an explicit non-root UID/GID when the image supports it, disable privilege escalation, drop all capabilities, and use RuntimeDefault seccomp. Fix the workload manifest instead of lowering the namespace Pod Security standard.
NetworkPolicy Blocks DNS or the Target Service
Symptom
The Sandbox is Ready, but DNS resolution or a required endpoint is unreachable.
Checks
Resolution
Confirm that the policy selector matches the workload labels. Add explicit DNS access and the minimum required destination rules before tightening default deny. Verify that the cluster CNI enforces NetworkPolicy as expected. Do not replace reviewed destination rules with unrestricted 0.0.0.0/0 egress.
shutdownTime Is Invalid or Already Expired
Symptom
The resource is rejected, expires immediately, or does not expire at the expected time.
Checks
Resolution
Use an absolute RFC3339 timestamp with an explicit timezone, preferably UTC Z, and make sure it is in the future. Check shutdownPolicy. Activity does not renew shutdownTime; it is not an idle timeout.
RuntimeClass Is Missing or Cannot Schedule
Symptom
The API reports a missing RuntimeClass, or the Pod remains Pending after a RuntimeClass is selected.
Checks
Resolution
Use a RuntimeClass that the cluster administrator has installed and validated. Confirm compatible nodes, runtime handlers, node labels, taints, tolerations, resource overhead, and hardware virtualization requirements. Agent Sandbox does not install Kata Containers or gVisor.
Collect a Diagnostic Snapshot
When escalation is required, collect the resource state without including credentials or secret data:
Do not delete CRDs during troubleshooting. CRD deletion removes the API definition and can delete every instance of that resource type across the cluster.