Skip to main content

 Most Common Azure Kubernetes Errors & How to Fix Them:


1️⃣ Pods Stuck in "Pending" State


πŸ”Ή Issue: Insufficient resources or missing node pools.

✅ Solution:


Run kubectl describe pod <pod-name> to check for resource constraints.


Scale up the node pool (az aks scale --resource-group <rg> --name <cluster> --node-count <N>).


Check node taints & tolerations preventing scheduling.



2️⃣ ImagePullBackOff / ErrImagePull


πŸ”Ή Issue: The container image cannot be pulled.

✅ Solution:


Verify image availability (kubectl describe pod <pod-name>).


Ensure credentials are correct for private registries (kubectl create secret docker-registry).


Check network/firewall rules blocking the registry.



3️⃣ CrashLoopBackOff


πŸ”Ή Issue: The container repeatedly crashes.

✅ Solution:


Check logs (kubectl logs <pod-name>) and events (kubectl describe pod).


Debug locally using docker run before deploying.


Ensure readiness/liveness probes are correctly configured.



4️⃣ Node Not Ready


πŸ”Ή Issue: Node is unavailable in the cluster.

✅ Solution:


Run kubectl get nodes & kubectl describe node <node-name>.


Check if the VM is healthy in the Azure portal.


Restart or scale up the node pool.



5️⃣ OOMKilled (Out of Memory)


πŸ”Ή Issue: Container exceeds allocated memory.

✅ Solution:


Adjust resource requests/limits in your YAML file:


resources:

 requests:

 memory: "512Mi"

 limits:

 memory: "1Gi"


Use kubectl top pods to identify high memory usage.



6️⃣ RBAC Authorization Error (Forbidden)


πŸ”Ή Issue: Insufficient permissions for a user or service account.

✅ Solution:


Assign the correct role using:


kubectl create rolebinding <binding-name> --clusterrole=<role> --user=<user> --namespace=<namespace>


Verify RBAC rules with kubectl auth can-i.



7️⃣ Service Not Accessible (Pending or No External IP)


πŸ”Ή Issue: LoadBalancer or Ingress controller misconfiguration.

✅ Solution:


Ensure the service type is correct (kubectl get svc).


Use kubectl describe svc <service-name> to check external IP allocation.


For Ingress, verify Azure Application Gateway/NGINX ingress settings.



8️⃣ PersistentVolumeClaim (PVC) Stuck in Pending


πŸ”Ή Issue: Storage class or capacity issues.

✅ Solution:


Ensure the correct storage class is used (kubectl get sc).


Check if the requested storage size is available in Azure Disk/File Share.


Verify kubectl describe pvc for binding errors.



9️⃣ DNS Resolution Failure in Pods


πŸ”Ή Issue: Pods cannot resolve internal/external domains.

✅ Solution:


Restart CoreDNS (kubectl rollout restart deployment coredns -n kube-system).


Check kubectl get svc -n kube-system for the DNS service.


Validate resolv.conf inside the pod (kubectl exec -it <pod-name> -- cat /etc/resolv.conf).

Comments

Popular posts from this blog

Quick Guide to VCF Automation for VCD Administrators

  Quick Guide to VCF Automation for VCD Administrators VMware Cloud Foundation 9 (VCF 9) has been  released  and with it comes brand new Cloud Management Platform –  VCF Automation (VCFA)  which supercedes both Aria Automation and VMware Cloud Director (VCD). This blog post is intended for those people that know VCD quite well and want to understand how is VCFA similar or different to help them quickly orient in the new direction. It should be emphasized that VCFA is a new solution and not just rebranding of an old one. However it reuses a lot of components from its predecessors. The provider part of VCFA called Tenenat Manager is based on VCD code and the UI and APIs will be familiar to VCD admins, while the tenant part inherist a lot from Aria Automation and especially for VCD end-users will look brand new. Deployment and Architecture VCFA is generaly deployed from VCF Operations Fleet Management (former Aria Suite LCM embeded in VCF Ops. Fleet Management...
  Issue with Aria Automation Custom form Multi Value Picker and Data Grid https://knowledge.broadcom.com/external/article?articleNumber=345960 Products VMware Aria Suite Issue/Introduction Symptoms: Getting  error " Expected Type String but was Object ", w hen trying to use Complex Types in MultiValue Picker on the Aria for Automation Custom Form. Environment VMware vRealize Automation 8.x Cause This issue has been identified where the problem appears when a single column Multi Value Picker or Data Grid is used. Resolution This is a known issue. There is a workaround.  Workaround: As a workaround, try adding one empty column in the Multivalue picker without filling the options. So we can add one more column without filling the value which will be hidden(there is a button in the designer page that will hide the column). This way the end user will receive the same view.  

Step-by-Step Explanation of Ballooning, Compression & Swapping in VMware

 πŸ”Ή Step-by-Step Explanation of Ballooning, Compression & Swapping in VMware ⸻ 1️⃣ Memory Ballooning (vmmemctl) Ballooning is the first memory reclamation technique used when ESXi detects memory pressure. ➤ Step-by-Step: How Ballooning Works  1. VMware Tools installs the balloon driver (vmmemctl) inside the guest OS.  2. ESXi detects low free memory on the host.  3. ESXi inflates the balloon in selected VMs.  4. Balloon driver occupies guest memory, making the OS think RAM is full.  5. Guest OS frees idle / unused pages (because it believes memory is needed).  6. ESXi reclaims those freed pages and makes them available to other VMs. Why Ballooning Happens?  • Host free memory is very low.  • ESXi wants the VM to release unused pages before resorting to swapping. Example  • Host memory: 64 GB  • VMs used: 62 GB  • Free: 2 GB → ESXi triggers ballooning  • VM1 (8 GB RAM): Balloon inflates to 2 GB → OS frees 2 GB → ESXi re...