监控集群资源利用率
Metrics Server部署:
部署完成之后不会瞬间可以top到资源的利用率,因为抓取数据是周期性的不是实时性的;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml
vi components.yaml containers: - name: metrics-server image: lizhenliang/metrics-server:v0.3.7 imagePullPolicy: IfNotPresent args: - --cert-dir=/tmp - --secure-port=4443 - --kubelet-insecure-tls - --kubelet-preferred-address-types=InternalIP
[root@pool1 ~] v1beta1.metrics.k8s.io kube-system/metrics-server True 11m
[root@pool1 ~]
|
查看node资源
1 2 3 4 5
| [root@pool1 ~]# kubectl top node NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% pool1 212m 10% 1170Mi 68% pool2 78m 3% 556Mi 32% pool3 96m 4% 537Mi 31%
|
查看pod资源
1 2 3 4 5
| [root@pool1 ~]# kubectl top pods -n cka NAME CPU(cores) MEMORY(bytes) zsir-7b5c955fb-7sb6d 0m 3Mi zsir-7b5c955fb-svjm9 0m 3Mi zsir-7b5c955fb-x4w7q 0m 3Mi
|
metrics-server数据抓取流程:
1、kubectl top请求apiserver再将请求转发给metrics-server;
2、metrics-server从每个节点上获取当前查看的资源利用率;
3、将获取到的数据反馈给apiserver在转发给kubectl top并展示给终端;