# Kubernetes Monitoring: How to Monitor Using Best Practices

URL:: https://www.appdynamics.com/topics/how-to-monitor-kubernetes-best-practices#~1-what-is-kubernetes
Author:: AppDynamics
## Highlights
> In traditional deployments, applications ran on physical servers, an approach that led to resource allocation issues. If multiple applications were running on a single server, for instance, one application could consume most of the resources, hampering performance of other applications. One solution was to run each app on a separate physical server, but this approach was too expensive and led to underutilization of resources. ([View Highlight](https://read.readwise.io/read/01gyw7bqsaprnynxbrpnj3kswp))
> Virtualization was the next step, which addressed the limitations of physical servers by running multiple virtual machines (VMs)—each running its own components, including the operating system (OS) and applications—on top of a physical server's CPU. VMs offered numerous benefits, including improved utilization of server resources, lower hardware costs, easier application upgrades, and other scalability enhancements.
> VMs have their shortcomings, though. For example, each VM having its own OS image means additional memory and storage requirements. This adds complexity to the software development lifecycle and limits the portability of apps between public and private clouds and data centers. ([View Highlight](https://read.readwise.io/read/01gyw7c1gg8jz665vv9kzt02j3))
> A container is similar to a virtual machine in that it has its own software, libraries, memory, configuration files and so on. Containers offer many advantages, though, most notably the ability to share the operating system (each VM has its own OS image), making them relatively lightweight, fast and efficient. Other container benefits include:
> • Improved efficiency: With containers, applications can be deployed, patched or scaled more quickly.
> • Better portability: It's easy to deploy applications running in containers to multiple operating systems and hardware platforms.
> • Consistent operation: Container-based apps run the same no matter where they are deployed.
> • Sharper observability: In addition to surfacing OS-level metrics, they show application health and other insights.
> • Benefits app development: Containers supports agile and DevOps initiatives (for faster development and test and production cycles). ([View Highlight](https://read.readwise.io/read/01gyw7cpx9q7dtr8d633aep3jh))
> The most popular container orchestrator, Kubernetes, is used most often with Docker, the leading containerization platform. But Kubernetes also supports other container systems that meet container image format and runtime standards set by the Open Container Initiative (OCI), an open source technical community supervised by The Linux Foundation. Alternatives to Kubernetes include Docker Swarm, a container orchestrator bundled with Docker, and Apache Mesos. ([View Highlight](https://read.readwise.io/read/01gyw7dd64e548tpv9g3hw03je))
> Velocity: Kubernetes provides the tools you need to quickly ship features hourly or daily while maintaining a highly available service. ([View Highlight](https://read.readwise.io/read/01gyw7ds0fkffmfv0yn4r0h4cy))
> Scaling: Kubernetes' configuration management tools make it easier to scale the containers that make up a distributed application and the clusters that power those containers. ([View Highlight](https://read.readwise.io/read/01gyw7dw0tema6f0d7agngy5xz))
> Infrastructure Abstraction: It's challenging to run a distributed application among multiple public cloud providers or in a mixed public-private cloud setting. Kubernetes has a number of plug-ins that simplify these tasks. ([View Highlight](https://read.readwise.io/read/01gyw7dypbq9qknj5ka082vsyz))
> As Google notes in its [Site Reliability Engineering](https://landing.google.com/sre/sre-book/chapters/practical-alerting/) guide, monitoring a very large, complex system has two major challenges: the vast number of components being analyzed, and the need to maintain a "reasonably low maintenance burden" on the engineers in charge. ([View Highlight](https://read.readwise.io/read/01gyw7ed0vwgyt1nm5j84s0vqg))
> Kubernetes Monitoring Challenges ([View Highlight](https://read.readwise.io/read/01gyw7f2587jahfyecavas25h4))
> Kubernetes Is Complex ([View Highlight](https://read.readwise.io/read/01gyw7f3r7y1w768nz5fewtq2b))
---
Title: Kubernetes Monitoring: How to Monitor Using Best Practices
Author: AppDynamics
Tags: readwise, articles
date: 2024-01-30
---
# Kubernetes Monitoring: How to Monitor Using Best Practices

URL:: https://www.appdynamics.com/topics/how-to-monitor-kubernetes-best-practices#~1-what-is-kubernetes
Author:: AppDynamics
## AI-Generated Summary
Kubernetes is the most popular container management tool among large enterprises. It's complex to monitor, but these best practices can help.
## Highlights
> In traditional deployments, applications ran on physical servers, an approach that led to resource allocation issues. If multiple applications were running on a single server, for instance, one application could consume most of the resources, hampering performance of other applications. One solution was to run each app on a separate physical server, but this approach was too expensive and led to underutilization of resources. ([View Highlight](https://read.readwise.io/read/01gyw7bqsaprnynxbrpnj3kswp))
> Virtualization was the next step, which addressed the limitations of physical servers by running multiple virtual machines (VMs)—each running its own components, including the operating system (OS) and applications—on top of a physical server's CPU. VMs offered numerous benefits, including improved utilization of server resources, lower hardware costs, easier application upgrades, and other scalability enhancements.
> VMs have their shortcomings, though. For example, each VM having its own OS image means additional memory and storage requirements. This adds complexity to the software development lifecycle and limits the portability of apps between public and private clouds and data centers. ([View Highlight](https://read.readwise.io/read/01gyw7c1gg8jz665vv9kzt02j3))
> A container is similar to a virtual machine in that it has its own software, libraries, memory, configuration files and so on. Containers offer many advantages, though, most notably the ability to share the operating system (each VM has its own OS image), making them relatively lightweight, fast and efficient. Other container benefits include:
> • Improved efficiency: With containers, applications can be deployed, patched or scaled more quickly.
> • Better portability: It's easy to deploy applications running in containers to multiple operating systems and hardware platforms.
> • Consistent operation: Container-based apps run the same no matter where they are deployed.
> • Sharper observability: In addition to surfacing OS-level metrics, they show application health and other insights.
> • Benefits app development: Containers supports agile and DevOps initiatives (for faster development and test and production cycles). ([View Highlight](https://read.readwise.io/read/01gyw7cpx9q7dtr8d633aep3jh))
> The most popular container orchestrator, Kubernetes, is used most often with Docker, the leading containerization platform. But Kubernetes also supports other container systems that meet container image format and runtime standards set by the Open Container Initiative (OCI), an open source technical community supervised by The Linux Foundation. Alternatives to Kubernetes include Docker Swarm, a container orchestrator bundled with Docker, and Apache Mesos. ([View Highlight](https://read.readwise.io/read/01gyw7dd64e548tpv9g3hw03je))
> Velocity: Kubernetes provides the tools you need to quickly ship features hourly or daily while maintaining a highly available service. ([View Highlight](https://read.readwise.io/read/01gyw7ds0fkffmfv0yn4r0h4cy))
> Scaling: Kubernetes' configuration management tools make it easier to scale the containers that make up a distributed application and the clusters that power those containers. ([View Highlight](https://read.readwise.io/read/01gyw7dw0tema6f0d7agngy5xz))
> Infrastructure Abstraction: It's challenging to run a distributed application among multiple public cloud providers or in a mixed public-private cloud setting. Kubernetes has a number of plug-ins that simplify these tasks. ([View Highlight](https://read.readwise.io/read/01gyw7dypbq9qknj5ka082vsyz))
> As Google notes in its [Site Reliability Engineering](https://landing.google.com/sre/sre-book/chapters/practical-alerting/) guide, monitoring a very large, complex system has two major challenges: the vast number of components being analyzed, and the need to maintain a "reasonably low maintenance burden" on the engineers in charge. ([View Highlight](https://read.readwise.io/read/01gyw7ed0vwgyt1nm5j84s0vqg))
> Kubernetes Monitoring Challenges ([View Highlight](https://read.readwise.io/read/01gyw7f2587jahfyecavas25h4))
> Kubernetes Is Complex ([View Highlight](https://read.readwise.io/read/01gyw7f3r7y1w768nz5fewtq2b))