If you’re reading this, you’re probably already taking manual thread dumps of running Java apps in your Kubernetes cluster (or at least know how). Recently for us though, we needed to debug an issue that was causing our app container to restart randomly. There was nothing obviously wrong with JVM metrics, resource utilization, etc., so for better debugging, we decided a thread dump taken at the exact moment before the container restarts would potentially be useful in identifying the problem (SPOILER: it was). We found that we could retrieve a thread dump with the lightweight and powerful log processor/forwarder Fluent…
This article details the installation of the Kubernetes-managed NGINX Ingress Controller for use with a Network Load Balancer (NLB) in an EKS cluster. After considering the recently announced AWS Load Balancer Controller, we went with the NGINX Controller to take advantage of the scalability of load balancing TCP traffic as well as TLS termination.
This guide is for the Kubernetes-managed NGINX Ingress Controller (kubernetes/ingress-nginx), but the same principles may be applied to the NGINX-managed NGINX Ingress Controller (nginxinc/kubernetes-ingress). View a breakdown of the differences between these two controllers.