What's Actually Happening
Kubernetes cannot find referenced secrets. Pods fail to start due to missing secret references.
The Error You'll See
```bash $ kubectl describe pod mypod
Warning Failed 5m kubelet Error: secret "my-secret" not found ```
Why This Happens
- 1.Secret not created
- 2.Wrong namespace
- 3.Wrong secret name
- 4.RBAC permissions
- 5.Secret deleted
Step 1: Check Secret Exists
kubectl get secrets -A
kubectl get secret my-secret -n mynamespace
kubectl describe secret my-secretStep 2: Check Namespace
# Secret and pod must be in same namespace
kubectl get pod mypod -o jsonpath='{.metadata.namespace}'
kubectl get secrets -n <namespace>Step 3: Create Missing Secret
kubectl create secret generic my-secret --from-literal=key=value -n mynamespace
kubectl create secret docker-registry my-secret --docker-server=server --docker-username=user --docker-password=passStep 4: Check Pod Specification
kubectl get pod mypod -o yaml | grep -A 5 secretRefStep 5: Check RBAC
kubectl auth can-i get secrets --as=system:serviceaccount:mynamespace:mysa
kubectl get rolebinding -n mynamespaceStep 6: Check Secret Name
# Ensure exact name match (case-sensitive)
kubectl get secrets -n mynamespace | grep -i my-secretStep 7: Create from File
kubectl create secret generic my-secret --from-file=cert.pem -n mynamespaceStep 8: Decode Secret
kubectl get secret my-secret -o jsonpath='{.data.key}' | base64 -dStep 9: Import from YAML
kubectl apply -f secret.yamlStep 10: Verify in Pod
kubectl exec mypod -- ls -la /etc/secrets
kubectl exec mypod -- cat /etc/secrets/keyRelated Issues
- [Fix Kubernetes ConfigMap Not Found](/articles/fix-kubernetes-configmap-not-found)
- [Fix Kubernetes PVC Not Binding](/articles/fix-kubernetes-pvc-not-binding)