As we talk to our customers about moving from OpenStack into the new world of Kubernetes, we get involved in a lot of conversations about what it means for their monitoring infrastructure. 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, you have to take a different mindset into how you setup Kubernetes monitoring and how you keep an eye on those various services.
Differences with Kubernetes Monitoring
For example, logging is significantly different in Kubernetes. Logs live with your pods and if your pod dies, or is evicted, or you lose a node, those logs aren’t available for a long lifetime, as you can’t just reboot your service and have them available to you. So you have to think about something like a log forwarding service that provides access into a back-end log aggregation service. Monitoring up-time for applications also changes. 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.
Tools for Kubernetes Monitoring
In the Kubernetes world, we’re leveraging open source tools like Prometheus to probe and actually identify if your services are responsive. However, the one area where it does maintain some similarities to your legacy infrastructure is in monitoring your Kubernetes cluster. You still have the underlying need to monitor disk space, CPU and memory on the individual nodes, and to make sure they’re available. But what changes are the capabilities you have on top of the individual nodes. 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.
When we get involved in these conversations with our customers, it’s really about changing their mindset in terms of what they’re looking at when monitoring in Kubernetes. It takes the step of distilling your monitoring up a level within the cluster. You’re no longer at that bare metal, but rather, more focused on monitoring the application.
Monitoring with Platform9’s Managed Kubernetes
Platform9 Managed Kubernetes has supported a number of hybrid cloud environments on behalf of our customers, and our out-of-box solution comes loaded with IP and IP encapsulation, allowing seamless deployment across both public and private cloud environments. In fact, Platform9 Managed Kubernetes is the industry’s only SaaS managed solution that is infrastructure agnostic, working across public clouds and on-premises server infrastructure. SaaS managed delivery enables onboarding in minutes, without the ongoing operational overhead of 24/7 monitoring, troubleshooting and orchestrating Kubernetes upgrades.
The Platform9 agents that run on all Kubernetes nodes (worker and master) continually send health information to Whistle, a central monitoring and alerting system we’ve been building and perfecting over several years. Whistle aggregates data and runs a growing number of algorithms designed to detect and predict failures in real-time. Issues that can be corrected automatically are resolved immediately, while others will trigger notifications to the 24/7 Platform9 support team. Issues that require customer cooperation are handled through our ticketing system.
While Kubernetes has the potential to dramatically simplify the act of deploying your application in containers – and across clouds – it also adds a new set of complexities for your day-to-day tasks of managing application performance, gaining visibility into services, and monitoring and troubleshooting workflow.
Monitoring with Kubernetes requires an entirely new approach that starts at the application level. New tools and methodologies help ensure your Kubernetes stack will run smoothly and scale to meet your enterprise’s needs. If you’re ready to see how Platform9’s Managed Kubernetes service can help you in your enterprise, try out the Platform9 sandbox or start a free trial. You can also contact us for a free initial consultation.
Watch Jeremy Brooks, Director of Customer Success, on “Demystifying Kubernetes Monitoring.”