ulimit analyzer

Spot the one node where nofile is wrong.

When a fleet of pods is supposed to be configured identically but one or two nodes have a stale image / wrong systemd override, the fastest way to find them is to run ulimit -a on every pod and diff the results. This tool computes the modal value per field across all nodes, flags anomalies, and lets you copy the list of bad node names.

Step 1 — collect ulimit on every node

Replace <pod-prefix> with the workload prefix you care about.
for node in $(kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}'); do
  pod=$(kubectl get pods -A --field-selector spec.nodeName=$node \
        --no-headers -o custom-columns=":metadata.namespace,:metadata.name" 2>/dev/null \
        | grep "<pod-prefix>" | head -1)
  if [ -z "$pod" ]; then continue; fi
  ns=$(echo "$pod" | awk '{print $1}'); name=$(echo "$pod" | awk '{print $2}')
  echo "=== $node ==="
  kubectl exec -n "$ns" "$name" -- sh -c 'ulimit -a' 2>&1
done

Step 2 — paste output

Paste output above. Expects === node-name === headers.