The Monster Market was moved to a new cluster over the weekend. The person who did it is unreachable, every manifest is applied, and nothing works. This chapter is that cluster, start to finish. The first lesson is the shortest and the most important: look before you touch.
One pass, one list
kubectl get deploy,pods,svc,pvc,ingress,netpol -n market
kubectl get pods -n market --field-selector status.phase!=Running
kubectl events -n market --types=Warning
kubectl get sa,role,rolebinding -n marketRead everything once. For every finding write three things: the object, the symptom word you saw, and the layer it points at.
market-db Pending cluster (storage)
market-api ImagePullBackOff Pod (image)
market-web Running 0/1 Pod (readiness)
market-worker Pending cluster (resources)
svc/market-api targetPort 80 Service
netpol default-deny, no allows for web or ingress Service
ingress backend market-wab Service
sa/deploy no bindings configNothing has been changed yet. That matters: every symptom on the list is an original fault, not something a hurried fix introduced.
Order the work
The list is longer than the time you have, so order it by dependency, bottom up:
Fixing the API before the database only changes its symptom from ImagePullBackOff to "cannot connect". Fixing the Ingress before the Pods are Ready gives you a 503 you cannot interpret. Each stage is verified against a working layer below it.