Thanks — that helps. Since the pod stays up but the agent process is killed with no errors, let’s focus on a few likely causes and quick diagnostics to narrow it down.
Please collect/run these and paste results or log snippets:
1) Agent exit info
• From pod logs, capture the last ~200 lines before the process dies.
• From inside the pod, run the agent under a loop to capture its exit code:
◦ kubectl exec -it <pod> -- sh -c 'while true; do ./start-agent || echo "EXIT:$?"; sleep 1; done'
◦ Share the printed EXIT code (e.g., EXIT:137).
2) Check for OOM / kernel kills
• kubectl describe pod <pod> — look at Events for OOMKilled or SIGKILL.
• On the node, check dmesg or kubelet logs for OOM killer messages (if you have access).
3) Resource limits and usage
• Show the pod spec (limits/requests) and the Deployment/StatefulSet manifest.
• While the agent runs, capture usage:
◦ kubectl top pod <pod>
◦ kubectl exec -it <pod> -- sh -c 'ps aux --sort=-%mem | head -n 10' and 'ps aux --sort=-%cpu | head -n 10'
4) Check for CPU throttling on the node
• Share your node instance type(s). Burstable instances (t3/t4) can be throttled and cause processes to be killed under sustained CPU.
• If using burstable types, try a node with fixed CPU (m5/c5) or increase requests/limits.
5) Runtime crashes / segfaults
• Run the agent with core dumps enabled to capture a crash:
◦ kubectl exec -it <pod> -- sh -c 'ulimit -c unlimited; ./start-agent'
• If a core dump appears, collect it for analysis.
6) Missing env/secret or startup race
• Confirm provider keys and required envs are present in the running pod:
◦ kubectl exec -it <pod> -- sh -c 'env | grep -E "OPENAI|DEEPGRAM|CARTESIA|LIVEKIT"'
• Run the agent interactively to see any startup warnings.
7) Network / external call timeouts causing process exit
• From inside the pod, run quick connectivity tests while agent is running:
◦ curl -I
https://api.openai.com/v1/ -s -o /dev/null -w "%{http_code} %{time_total}\n"
◦ curl -I
https://api.deepgram.com/ -s -o /dev/null -w "%{http_code} %{time_total}\n"
• If those hang or are slow, the agent may hit internal timeouts and exit.
8) Probe / liveness interplay
• If you use liveness/readiness probes, share their config — a failing probe can SIGKILL the container process even if the pod remains.
If you share:
• the agent exit code (from step 1),
• pod spec (limits/requests, probes),
• node instance types,
• and the last 200 log lines before kill,
I’ll point to the specific root cause and exact fixes to try (memory/CPU limit changes, core dump analysis, or changing node types). Which of those can you provide first?