If you recall from Chapter 1, Kubernetes and Container Operations, we noted that our nodes were already running a number of monitoring services. We can see these once again by running the get pods
command with the kube-system
namespace specified as follows:
$ kubectl get pods --namespace=kube-system
The following screenshot is the result of the preceding command:
Again, we see a variety of services, but how does this all fit together? If you recall the Node (formerly minions) section from Chapter 2, Kubernetes – Core Concepts and Constructs, each node is running a kublet. The kublet is the main interface for nodes to interact and update the API server. One such update is the metrics of the node resources. The actual reporting of the resource usage is performed by a program named cAdvisor.
cAdvisor is another open source project from Google, which provides various metrics on container resource use. Metrics include CPU, memory, and network statistics...