Get startedGet started for free

Troubleshooting Common Issues

1. Troubleshooting Common Issues

In this video, we'll learn how to troubleshoot common issues in AKS, focusing on pods, networking, scaling, and resource limits.

2. Why troubleshooting matters

Even with Kubernetes' automation, problems can occur. Pods may fail to start, services might not route traffic, or nodes could run out of resources. Troubleshooting skills help you quickly diagnose and resolve these issues, keeping applications reliable.

3. Why troubleshooting matters

A structured approach - observe, identify, test, and resolve - ensures you don't waste time chasing symptoms instead of root causes.

4. Pod failures

One of the most frequent issues is pods failing to start. Causes include incorrect container images, missing secrets, or insufficient resources.

5. Pod failures

Use kubectl describe pod to inspect events and kubectl logs to view output. Checking image pull policies and registry credentials often resolves startup errors. If a pod is stuck in CrashLoopBackOff, investigate application logs and resource requests. You can also use readiness and liveness probes to detect unhealthy pods early and restart them automatically.

6. Networking problems

Networking issues can prevent services from reaching pods or external clients. Verify that services are correctly defined and that selectors match pod labels.

7. Networking problems

Use kubectl get svc and kubectl get endpoints to confirm routing. Ingress controllers may require additional configuration, such as TLS certificates or path rules. Network policies can also block traffic unintentionally. Testing connectivity with tools like kubectl exec and curl inside pods helps isolate problems. For complex cases, packet capture tools or Azure Network Watcher can provide deeper visibility.

8. Scaling challenges

Scaling may fail if auto-scaler settings are mis-configured or nodes lack capacity.

9. Scaling challenges

Check Horizontal Pod Autoscaler metrics with kubectl get hpa and ensure the Cluster Autoscaler is enabled. Review resource requests and limits, as overly restrictive values can prevent pods from scheduling. If scaling stalls, inspect node pool quotas and adjust thresholds. Simulating load during testing helps validate auto-scaling behavior before production. It's also wise to monitor scaling events in Azure Monitor to confirm they trigger as expected.

10. Resource constraints

Nodes can run out of CPU, memory, or disk space, causing pods to be evicted. Monitor resource usage with Azure Monitor and kubectl top.

11. Resource constraints

Over-committing resources often leads to instability, so define realistic requests and limits. Use taints and tolerations to control pod placement, ensuring critical workloads have priority. Regular audits of resource allocation and quotas help prevent bottlenecks. Consider using multiple node pools with different VM sizes to balance workloads efficiently.

12. Recap

Troubleshooting in AKS involves diagnosing pod failures, networking issues, scaling challenges, and resource constraints.

13. Recap

By combining Kubernetes tools with Azure integrations, you can resolve problems quickly and maintain reliability. Developing a troubleshooting play-book for your team ensures consistent responses and faster resolution times.

14. Let's practice!

Challenge yourself with a small outage, fix it with AKS tools, and capture your steps in a quick play-book.

Create Your Free Account

or

By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.