k8s之監控集群資源利用率


一、查看資源集群狀態

1、集群整體狀態

 kubectl cluster-info

2、更多集群信息

kubectl cluster-info dump

3、查看資源信息

kubectl describe <資源> <名稱>

4、實時查看資源信息

kubectl get pod<Pod名稱> --watch

一、Metrics Server介紹

             Metrics Server是一個集群范圍的資源使用情況的數據聚合器。作為一個應用部署在集群中。Metric server從每個節點上KubeletAPI收集指標,通過Kubernetes聚合器注冊在Master APIServer中。

1、工作原理

 2、Metrics Server部署

①項目地址

https://github.com/kubernetes-sigs/metrics-server

②下載Yaml文件

wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml

③修改Yaml文件

復制代碼
      containers:
      - name: metrics-server
        image: lizhenliang/metrics-server-amd64:v0.3.1 #修改成國內鏡像,這里使用lizhenliang已有的鏡像
imagePullPolicy: IfNotPresent args: - --cert-dir=/tmp - --secure-port=4443 - --kubelet-insecure-tls #跳過tls檢查 - --kubelet-preferred-address-types=InternalIP #以node ip連接kubelet
復制代碼

④部署Metrics

kubectl apply -f components.yaml   #yaml文件應用,可以在任何路徑下面應用

驗證是否部署成功

復制代碼
[root@k8s-master k8s]# kubectl get pods -n kube-system 
NAME                                      READY   STATUS    RESTARTS   AGE
calico-kube-controllers-676c4cbdf-f9m8w   1/1     Running   0          3d23h
calico-node-5wfdf                         1/1     Running   0          3d23h
calico-node-xzrwc                         1/1     Running   0          3d23h
coredns-7ff77c879f-c77qj                  1/1     Running   0          3d23h
coredns-7ff77c879f-tjws5                  1/1     Running   0          3d23h
etcd-k8s-master                           1/1     Running   0          3d23h
kube-apiserver-k8s-master                 1/1     Running   0          3d23h
kube-controller-manager-k8s-master        1/1     Running   0          3d23h
kube-proxy-jmqnj                          1/1     Running   0          3d23h
kube-proxy-vnzhk                          1/1     Running   0          3d23h
kube-scheduler-k8s-master                 1/1     Running   0          3d23h
metrics-server-8fcfb55ff-j8vmz            1/1     Running   1          2m     #狀態已經Running
復制代碼

⑤監控集群資源利用率

查看Metrics是否注冊到APIsevice中

復制代碼
[root@k8s-master k8s]# kubectl get apiservice
NAME                                   SERVICE                      AVAILABLE   AGE
v1.                                    Local                        True        4d19h
v1.admissionregistration.k8s.io        Local                        True        4d19h
v1.apiextensions.k8s.io                Local                        True        4d19h
v1.apps                                Local                        True        4d19h
v1.authentication.k8s.io               Local                        True        4d19h
v1.authorization.k8s.io                Local                        True        4d19h
v1.autoscaling                         Local                        True        4d19h
v1.batch                               Local                        True        4d19h
v1.coordination.k8s.io                 Local                        True        4d19h
v1.crd.projectcalico.org               Local                        True        9m2s
v1.networking.k8s.io                   Local                        True        4d19h
v1.rbac.authorization.k8s.io           Local                        True        4d19h
v1.scheduling.k8s.io                   Local                        True        4d19h
v1.storage.k8s.io                      Local                        True        4d19h
v1beta1.admissionregistration.k8s.io   Local                        True        4d19h
v1beta1.apiextensions.k8s.io           Local                        True        4d19h
v1beta1.authentication.k8s.io          Local                        True        4d19h
v1beta1.authorization.k8s.io           Local                        True        4d19h
v1beta1.batch                          Local                        True        4d19h
v1beta1.certificates.k8s.io            Local                        True        4d19h
v1beta1.coordination.k8s.io            Local                        True        4d19h
v1beta1.discovery.k8s.io               Local                        True        4d19h
v1beta1.events.k8s.io                  Local                        True        4d19h
v1beta1.extensions                     Local                        True        4d19h
v1beta1.metrics.k8s.io                 kube-system/metrics-server   True        53s
v1beta1.networking.k8s.io              Local                        True        4d19h
v1beta1.node.k8s.io                    Local                        True        4d19h
v1beta1.policy                         Local                        True        4d19h
v1beta1.rbac.authorization.k8s.io      Local                        True        4d19h
v1beta1.scheduling.k8s.io              Local                        True        4d19h
v1beta1.storage.k8s.io                 Local                        True        4d19h
v2beta1.autoscaling                    Local                        True        4d19h
v2beta2.autoscaling                    Local                        True        4d19h
復制代碼

 查看節點資源使用率

[root@k8s-master k8s]# kubectl top node 
NAME         CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
k8s-master   211m         21%    977Mi           33%       
k8s-node1    87m          8%     398Mi           13%  

查看Pod資源使用率,未排序

復制代碼
[root@k8s-master k8s]# kubectl top pod -A
NAMESPACE              NAME                                         CPU(cores)   MEMORY(bytes)   
kube-system            calico-kube-controllers-676c4cbdf-f9m8w      1m           13Mi            
kube-system            calico-node-5wfdf                            25m          76Mi            
kube-system            calico-node-xzrwc                            23m          85Mi            
kube-system            coredns-7ff77c879f-c77qj                     3m           11Mi            
kube-system            coredns-7ff77c879f-tjws5                     3m           11Mi            
kube-system            etcd-k8s-master                              17m          52Mi            
kube-system            kube-apiserver-k8s-master                    36m          439Mi           
kube-system            kube-controller-manager-k8s-master           12m          41Mi            
kube-system            kube-proxy-7v26z                             1m           17Mi            
kube-system            kube-proxy-nxlrh                             1m           16Mi            
kube-system            kube-scheduler-k8s-master                    4m           16Mi            
kube-system            metrics-server-6767f6d894-jsbff              1m           14Mi            
kubernetes-dashboard   dashboard-metrics-scraper-6b4884c9d5-rdgz8   1m           7Mi             
kubernetes-dashboard   kubernetes-dashboard-7b544877d5-5thm9        1m           14Mi
復制代碼

 

查看Pod資源使用率,並按照內存大小進行排序(cpu列說明:1000m=1c,即1000m代表1個cpu邏輯核,當cpu值顯示大於100m時,建議留意下)

復制代碼
 [root@k8s-master metrics-server]# kubectl top pod  -A  --sort-by=memory
NAMESPACE              NAME                                         CPU(cores)   MEMORY(bytes)   
kube-system            kube-apiserver-k8s-master                    57m          365Mi           
kube-system            etcd-k8s-master                              27m          217Mi           
kube-system            kube-controller-manager-k8s-master           24m          58Mi            
kube-system            calico-node-m4nq6                            42m          40Mi            
kube-system            calico-node-679b4                            40m          26Mi            
kube-system            calico-node-ghght                            51m          23Mi            
kubernetes-dashboard   kubernetes-dashboard-7f99b75bf4-phgc5        1m           22Mi            
kube-system            kube-scheduler-k8s-master                    7m           20Mi            
kube-system            kube-proxy-trgz8                             1m           14Mi            
kube-system            calico-kube-controllers-65f8bc95db-qxcwb     3m           14Mi            
kube-system            metrics-server-5667498b7d-9sst9              2m           13Mi            
kube-system            coredns-7ff77c879f-2wqw5                     4m           8Mi             
kube-system            kube-proxy-rxdn5                             1m           8Mi             
kube-system            kube-proxy-t55wt                             1m           8Mi             
kube-system            coredns-7ff77c879f-4kk6t                     4m           7Mi             
kubernetes-dashboard   dashboard-metrics-scraper-6b4884c9d5-dp7wh   1m           5Mi             
default                nginx-f89759699-k5rmn                        0m           1Mi             
cka                    aliang-666-74689c47f4-vwjr6                  0m           1Mi             
default                nginx-deploy                                 0m           1Mi             
default                aliang-666                                   0m           1Mi              
復制代碼

 知識改變命運!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM