Kubernetes troubleshooting

Bounded diagnostic collection and exact failing-path checks without exposing secrets.

Short glossary
  • Helm release: an installed and independently managed resource set from one chart.
  • Secret object: a Kubernetes resource referenced for sensitive values; the delivery charts do not own the values themselves.
  • PersistentVolumeClaim (PVC): a storage request used by a bundled data component.
  • NetworkPolicy: rules governing permitted network connections for application Pods.
  • Container Storage Interface (CSI) and Container Network Interface (CNI) capabilities are provided by the customer cluster.

Diagnostics and incident flow

Start with Helm status, Pod/Job/PVC state and Events in the selected namespace. Read a bounded log window for the affected container; output may contain personal or infrastructure data, so review and redact it locally before sharing.

  • For values.schema.json or helm lint failures fix the exact local values path; do not disable validation.
  • Download HTTP 409 requires a created license; 403 requires company admin; 503 means verified release or activation is unavailable — contact the MassAccess operator.
  • For Pending PVC check StorageClass, topology and capacity; do not delete existing PVCs.
  • For CreateContainerConfigError/ImagePullBackOff check Secret names, required keys, registry access and image digests without printing credentials.
  • For NotReady check dependencies, DNS, CNI, TLS, ACLs and migration Jobs; an open TCP port does not prove readiness.
  • After recovery repeat Helm tests, UI/API/WebSocket checks and application operations; retain redacted evidence only.
bash
helm --kube-context "$MA_CONTEXT" status massaccess -n "$MA_NAMESPACE"
kubectl --context "$MA_CONTEXT" -n "$MA_NAMESPACE" get pod,job,pvc
kubectl --context "$MA_CONTEXT" -n "$MA_NAMESPACE" get events --sort-by=.metadata.creationTimestamp
kubectl --context "$MA_CONTEXT" -n "$MA_NAMESPACE" describe pod <pod>
kubectl --context "$MA_CONTEXT" -n "$MA_NAMESPACE" logs <pod> -c <container> --since=10m --tail=100