Chapter 15 · Azure Diagnostics
Subchapter 15.24
troubleshooting/aks/references/command-flows.mdMarkdown3 KBView on GitHub
Resolve subscription -> resolve resource group -> resolve cluster -> inspect cluster state -> inspect node pools -> inspect resource health -> inspect recent operationsCLI fallback when AKS-MCP cannot perform the cluster baseline read — run the aks-baseline script, which gathers cluster state, node pools, and recent operations as one read-only digest:
# bash
./scripts/aks-baseline.sh -g <resource-group> -n <cluster-name># PowerShell
.\scripts\aks-baseline.ps1 -ResourceGroup <resource-group> -Cluster <cluster-name>Check API reachability -> inspect nodes -> inspect kube-system -> inspect events -> inspect affected namespace -> inspect pod details and logsCLI fallback when AKS-MCP cannot perform the Kubernetes baseline read — the same aks-baseline script also covers node readiness, unhealthy pods, kube-system health, and recent warning events. Pass --namespace to include an affected namespace, then deep-dive on a specific pod:
# bash
./scripts/aks-baseline.sh -g <resource-group> -n <cluster-name> --namespace <namespace>
kubectl describe pod <pod-name> -n <namespace>
kubectl logs <pod-name> -n <namespace> --previous# PowerShell
.\scripts\aks-baseline.ps1 -ResourceGroup <resource-group> -Cluster <cluster-name> -Namespace <namespace>pod -> service -> endpoints -> ingress or load balancer -> DNS -> network controlsCLI fallback when AKS-MCP cannot perform the connectivity read:
kubectl get pods -n <namespace> -o wide
kubectl get svc -n <namespace>
kubectl get endpoints -n <namespace>
kubectl get ingress -n <namespace>
kubectl describe ingress <ingress-name> -n <namespace>resolve cluster resource ID -> list detectors or choose category -> select a focused time window -> run the detector or category -> rank critical findings above warnings -> ignore emerging issues when choosing the primary root causecheck resource health -> inspect metrics -> verify diagnostics settings -> inspect control plane logs if available -> correlate with Application Insights or namespace symptomspod events -> node capacity -> taints and tolerations -> affinity rules -> PVC state -> quotasCLI fallback when AKS-MCP cannot perform the scheduling read:
kubectl describe pod <pod-name> -n <namespace>
kubectl get nodes -o wide
kubectl describe node <node-name>
kubectl get pvc -n <namespace>
kubectl describe quota -n <namespace>Standard diagnostics inconclusive -> select gadget from symptom-to-gadget map -> run `scripts/run-ig.sh` (or `run-ig.ps1`; resolves node, applies timeout) -> interpret output -> correlate with prior evidenceUse when steps 1–3 of the evidence order (Azure-side, Kubernetes-side, and detector evidence) do not reveal root cause. See inspektor-gadget.md for the full gadget catalog and command patterns.
Treat the following as change operations and avoid them unless the user explicitly asks for remediation: