Monitoring Kubernetes so you actually know what it’s doing

Kubernetes (often abbreviated to K8s) is a great solution for managing your container based environments but 3 major issues generally crop up in production – and lead to difficulties when monitoring Kubernetes.

  1. It’s difficult to understand how/where K8s has deployed your environment
  2. It’s difficult to understand how events in Kubernetes are related to the performance and availability of your services
  3. It’s difficult to know when K8s itself is broken

This is especially true for the teams that write the applications. They typically did not set up Kubernetes, but they depend on it for their microservice deployments. K8s automatically monitors to see if the deployment complies with the defined configuration, but it’s lacking in a few major areas that will cause you great pain if you’re using it to manage more than a few containers.

How/Where did Kubernetes deploy my environment?

One of the great things about Kubernetes is that you don’t actually define WHERE it should deploy your containers. You do tell K8s how it should deploy (for example: 5 replicas, but none on the same hosts so that there is redundancy), but Kubernetes deploys containers wherever it can to maintain compliance with the defined policy.

So, for K8s deployments, the real question becomes… “Did I actually define the configuration such that performance will be sufficient, and if so is there enough infrastructure available so that the scheduler can comply with the policies?”

Instana answers these questions by showing you the exact deployment, related performance, and a mapping of your containers, clusters, and pods. It also alerts you when K8s is unable to deploy components due to resource limitation or other issues.

kubernetes-nodes-deploymentsInstana screenshot showing nodes and deployments related to a cluster.

kubernetes-metricsInstana screenshot showing deployment specific metrics, labels, and conditions.

kubernetes-AI-alertInstana screenshot showing K8s event and reason for problem.

What is the impact of K8s events on my application or services?

Instana collects all events generated by Kubernetes and processes them along with the data from correlated infrastructure and application components. All of this data is tracked using our Dynamic Graph which is a virtual map of every discovered application and infrastructure dependency. This allows you to navigate from application component to Kubernetes component and back right inside of the UI.

kubernetes-dashboardInstana screenshot showing application container with K8s assets on the left

AI is applied to this dynamic data set to automatically determine if Kubernetes events are the root cause of service impact. You will finally understand the exact impact (if any) of Kubernetes generated events on your running applications and services.

kubernetes-alertInstana screenshot showing issues and all changes related to Kubernetes.

Have I mentioned yet that Instana automatically collects and correlates all K8s labels whether they are system generated or user defined? These labels are critical to mapping the monitoring data to your actual Kubernetes configurations. These labels can be used to filter the Instana UI via our Dynamic Focus capability (Learn more about dynamic focus here).

kubernetes-labelsInstana screenshot showing labels.

Is Kubernetes broken?

K8s has multiple internal services (scheduler, controller, etcd, kubelets, etc) all working together to schedule, deploy and monitor your containers. If any of those components fail you want to be alerted and fix them right away. Instana understand the health of each of these components as alerts you to any issues.

kubernetes-podsInstana screenshot showing cluster information, node status, and health on the left side

If you’re using Kubernetes to orchestrate your containerized environments you really need to take a free trial of Instana. You’ll have it installed and providing meaningful information in minutes. Seriously it’s that quick and easy.

We've also created a brief video demonstration of Instana's Kubernetes monitoring in action.