This is fast and easy way to install Kubernetes on Vagrant with Metrics server addon.
git clone https://github.com/vorozhko/practical-guide-to-kubernetes-administration-exam
cd vagrant/kubernetes
vagrant up
At this point you would have one master node and two worker nodes ready.
Lets check cluster health
vagrant ssh master
kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready master 2m46s v1.18.2
worker1 Ready <none> 35s v1.18.2
worker2 Ready <none> 32s v1.18.2
All nodes are ready.
Lets install Metrics server addon
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml
Update metrics server startup flags to solve nodes name resolution issue
kubectl -n kube-system edit deployment metrics-server
#Add following settings to metrics-server start command
- --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP
- --kubelet-insecure-tls
At this point Metrics server is installed.
After about few minutes of collecting data you should see:
kubectl top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
master 264m 13% 1091Mi 57%
worker1 109m 5% 746Mi 39%
worker2 109m 5% 762Mi 40%
kubectl top pod
NAME CPU(cores) MEMORY(bytes)
calico-kube-controllers-75d56dfc47-bdsxr 1m 5Mi
calico-node-rvqwp 20m 23Mi
calico-node-thtd4 31m 25Mi
calico-node-vkhgs 23m 22Mi
coredns-66bff467f8-x68zs 4m 5Mi
coredns-66bff467f8-z7kzh 4m 10Mi
etcd-master 22m 39Mi
kube-apiserver-master 52m 352Mi
kube-controller-manager-master 18m 55Mi
kube-proxy-tdwpf 1m 18Mi
kube-proxy-wvsb9 1m 8Mi
kube-proxy-zfd2c 1m 9Mi
kube-scheduler-master 5m 23Mi
metrics-server-7c557b6b9f-h4hz2 1m 11Mi