Investigate · workspace
P1rca-readySLA at riskWhy is fs-prod-cs-tool2 NotReady?
Investigation workspace
Evidence-backed timeline — every step is read-only, bounded and audited.
Status
rca-ready
Tenant
Nordic Federated Bank
FS Core Banking Platform
Lead agent
Kubernetes Agent 01
Environment: production
RCA confidence
88%
Investigation timeline
Severity P1 · phases are append-only evidence steps
- Tenant and scope validationverifiedGuardrails · 06:41:12
Passport verified for ag-kubernetes-01. Scope limited to tenant tn-nordic / customer cu-fsprod. Read-only mode confirmed.
- passport signature valid
- tenant boundary check passed
- Node status queryanomalyKubernetes · 06:41:38
fs-prod-cs-tool2 reports Ready=False, kubelet heartbeat stale for 4m12s.
- kubectl get node fs-prod-cs-tool2 -> NotReady
- kubelet last heartbeat 06:37:26
- Node conditionsanomalyKubernetes · 06:42:02
MemoryPressure=False, DiskPressure=False, PIDPressure=False, NetworkUnavailable=False, Ready=False (KubeletNotReady: container runtime network not ready).
- conditions snapshot captured
- Kubernetes eventsanomalyKubernetes · 06:42:31
17 FailedCreatePodSandBox events and 9 Failed ErrImagePull events on the node within 10 minutes.
- event stream 06:32-06:42
- Kubelet logsanomalyLinux · 06:43:04
kubelet: failed to pull image registry.corp.internal/cni/calico-node:v3.27.2 — connection reset by peer during layer fetch.
- journalctl -u kubelet (read-only)
- Containerd logsanomalyLinux · 06:43:29
containerd: 3 resets mid-transfer at ~5MB layer boundary; TLS handshake succeeds, stream terminates.
- journalctl -u containerd (read-only)
- Prometheus metricsinfoObservability · 06:44:10
node CPU 21%, memory 48%, disk 39%, no saturation. container_runtime_operations_errors_total rising for PullImage only.
- PromQL snapshot
- Image pull error correlationanomalyEvidence · 06:44:51
All failures target the external registry path; internal mirror pulls on the same node succeed.
- 9/9 failures external registry
- Network evidenceanomalyNetwork · 06:45:33
Outbound TCP 443 to registry egress IP resets after 5-8 seconds. Egress path traverses an SSL-inspection appliance added in change CHG-20482.
- egress probe (read-only)
- CHG-20482 change window matches onset
- Hypothesis: node resource exhaustionrejectedReasoning · 06:46:02
Rejected — no pressure conditions, utilisation well under thresholds.
- Hypothesis: kubelet certificate expiryrejectedReasoning · 06:46:20
Rejected — client certificate valid until 2026-12-03, API server auth succeeding.
- Hypothesis: CNI configuration driftrejectedReasoning · 06:46:44
Rejected — CNI config identical to healthy peer nodes; failure is at image fetch, not config parse.
- Hypothesis: registry egress / SSL inspection resetverifiedReasoning · 06:47:15
Supported by all four evidence classes. Confidence 88%.
- Final RCA compiledverifiedRCA · 06:48:02
Read-only RCA issued with recommendation. No production write performed.
- rca-inc-4821
Final root cause
Confidence 88% · risk low · no production write required
Registry egress traffic from fs-prod-cs-tool2 is being reset mid-transfer, most likely by SSL inspection on the outbound path introduced in change CHG-20482. Container image layers for the CNI plugin cannot complete, so the container runtime network never becomes ready and the node reports NotReady.
Recommendation
Validate outbound TCP 443 connectivity from the node subnet to the registry egress range and confirm SSL-inspection exclusions cover registry.corp.internal and the upstream mirror. Re-run the image pull after the exclusion is verified.
Opened 8/2/2026, 6:41:00 AM · inc-4821