linux運維、架構之路-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: yanxinjiang/metrics-server:v0.3.7 #修改成國內鏡像
        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

驗證是否部署成功

[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

 


免責聲明!

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



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