Kubernetes deployment health from outside the cluster
Readiness probes pass inside the pod, but no one sees that the LB refused to route traffic to the new deploy.
Recipe
# Экспонируйте health endpoint через Ingress, а не только ClusterIP
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: app-healthz
spec:
rules:
- host: app.example.com
http:
paths:
- path: /readyz
pathType: Exact
backend: { service: { name: app, port: { number: 80 } } }
Same thing in Enterno.io
Add an Enterno monitor to https://app.example.com/readyz. If cluster DNS breaks access to /readyz — you learn about it before users do.
Related recipes
A CrashLoopBackOff in one namespace — kubectl shows a restart count of 47, but nobody sees it. Want an endpoint that returns high when the counter jumps.
Inside a K8s cluster etcd re-elects the leader every 30 s — kube-apiserver lags, controller-manager can't keep reconciling. Only visible in etcd metrics.
A node goes NotReady (kubelet stopped pinging the apiserver, runtime is sick) — pods on it linger like zombies until a taint evicts them. Kubernetes events do not go to Slack by default.