Kubernetes Metrics Server
By default, there are no metrics at all in K8s.
To get basic data on resource usage, you must install metrics-server
.
Setup
Download the manifest:
wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
Edit the manifest to add the TLS flag to the args on approx line 136:
...
spec:
containers:
- args:
- --cert-dir=/tmp
- --secure-port=4443
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
- --kubelet-use-node-status-port
- --kubelet-insecure-tls # ADD THIS LINE
image: k8s.gcr.io/metrics-server/metrics-server:v0.4.4
...
Apply the manifest:
kubectl apply -f ./components.yml
Per-Pod metrics:
$ kubectl top pod elasticsearch-0
NAME CPU(cores) MEMORY(bytes)
elasticsearch-0 10m 855Mi
Per-Node metrics:
$ kubectl top node kube-0
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
kube-0 323m 16% 3241Mi 84%