Demystifying Kubernetes Monitoring

As enterprises move from OpenStack into the new world of Kubernetes, monitoring infrastructure becomes increasingly important. In the old world of servers and virtual machines, people were used to monitoring monolithic applications, where they would look at services on an individual server.  As you refactor those applications into microservices in a Kubernetes world, a different mindset on how enterprises monitor various services is required.  

With Kubernetes you're no longer concerned about whether or not your application is constantly up and running at the infrastructure level, but rather, you're monitoring at the application level. The underlying need to monitor disk space, CPU and memory on the individual nodes, and to make sure they're available still remains. Monitoring in Kubernetes requires looking at expanding your cluster when out of capacity and leveraging platforms like Iaas Cloud to programmatically expand that layer, and eliminate the need for you to have to stand up another physical server to maintain optimum performance.

Read the Blog: http://bit.ly/2JAS1FQ

Transcript of Video:

Jeremy: [00:18] As we talk with our customers about moving from OpenStack into the new world of Kubernetes, we get involved in a lot of conversations around what that means for their monitoring infrastructure. In the the old world of servers and virtual machines, people who were used to monitoring monolithic applications where they would look at services on an individual server. As you refactor those applications into microservices in a Kubernetes world, you have to take a different mindset to how you monitor and how you keep an eye on those various services.

Jeremy: [00:54] For example, logging is significantly difficult. Your logs live with your pods. If your pod dies or is evicted or you lose a node, those logs aren't available for a long lifetime. You can't just reboot your service and have them available to you again. So you have to think about something like a log forwarding service that provides access into a backend log aggregation service. 

Jeremy: [01:20 ] Monitoring uptime of applications also changes. You're no longer worried about, "Is my application constantly up and running at the infrastructure level?" You're more monitoring application level services. Leveraging open source tools like Prometheus to probe and actually identify if your services are responsive.

Jeremy: [01:38] The one area where it does maintain some similarity to your legacy infrastructure is monitoring your Kubernetes cluster. You still have the underlying need to monitor disk space, CPU, memory of your individual nodes, and to make sure that they're available. But what changes is the capabilities you have on top of that. Really taking a look at expanding your cluster when you're running out of capacity. And doing that programmatically so you don't have to go and really stand up another physical server to meet that need. But leveraging platforms like IaaS Clouds to programmatically expand that layer.

Jeremy: [02:21] So when we get involved in these conversations, it's really about changing the mindset and what you're looking at when you start to monitor in Kubernetes. And it takes the step of distilling your monitoring up a level within the cluster. You're no longer at that bare-metal, but you're more focused on monitoring at the application level.

Previous Video
Kubernetes Networking: Achieving High Performance with Calico
Kubernetes Networking: Achieving High Performance with Calico

Next Video
Fission Workflows: Composing Complex Serverless Functions
Fission Workflows: Composing Complex Serverless Functions