Built-in monitoring
If you recall from Chapter 1, Introduction to Kubernetes, 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:
System pod listing
Again, we see a variety of services, but how does this all fit together? If you recall, the node (formerly minions) section from Chapter 3, Building a Foundation with Core Kubernetes Constructs, each node is running a kubelet
. The kubelet
is the main interface for nodes to interact with and update the API server. One such update is the metrics of the node resources. The actual reporting of resource usage is performed by a program named cAdvisor.
The cAdvisor program is another open source project from Google, which provides various metrics on container resource use. Metrics include CPU, memory, and network...