K8S裏如何部署性能監控組件metrics server

K8S從1.7版本開始引入metrics server替代heapster,原因是heapster無法提供符合K8S標準的API。使用metrics server,就可以通過K8S API獲取到監控指標。本文大部分參考K8S官方的metrics server部署文檔(https://github.com/kubernetes-incubator/metrics-server),部分地方做了一定修改。整體過程如下:

1. 下載所需鏡像

從google官方鏡像庫下載:

docker pull gcr.io/google-containers/coredns

docker pull gcr.io/google_containers/cluster-proportional-autoscaler-amd64

docker pull k8s.gcr.io/metrics-server-amd64

2. 下載metrics-server安裝包

git clone https://github.com/kubernetes-incubator/metrics-server.git

3. 修改配置文件

Metrics-server默認使用coredns作爲解析,但是coredns不提供node的解析,因此需要設置--kubelet-preferred-address-types參數

編輯~/metrics-server/deploy/1.8+/metrics-server-deployment.yaml,添加或修改如下內容(紅色部分):

      containers:

      - name: metrics-server

        image: k8s.gcr.io/metrics-server-amd64:v0.3.1

        imagePullPolicy: IfNotPresent

        command:

         - /metrics-server

         - --metric-resolution=30s

         - --kubelet-insecure-tls

         - --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP

4. 安裝部署

cd metrics-server

kubectl create –f deploy/1.8+/

5. 驗證安裝效果

# kubectl get pods -n kube-system |grep metrics

metrics-server-6696956c95-mlnv6         1/1     Running   0          55m

6. 查看性能數據

# kubectl top nodes

NAME      CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%  

master    80m          10%    1353Mi          95%      

worker1   22m          2%     1038Mi          62%

 

# kubectl top pods -n kube-system

NAME                                    CPU(cores)   MEMORY(bytes)  

coredns-6fd7dbf94c-grbkc                2m           20Mi           

coredns-6fd7dbf94c-vsc9b                2m           13Mi           

dns-autoscaler-5b4847c446-mfq9b         1m           6Mi            

kube-apiserver-master                   16m          445Mi          

kube-controller-manager-master          11m          79Mi           

kube-flannel-7fcbn                      1m           23Mi           

kube-flannel-h24sg                      1m           36Mi           

kube-proxy-6cxkv                        1m           27Mi           

kube-proxy-rrpp6                        1m           16Mi           

kube-scheduler-master                   4m           25Mi           

kubernetes-dashboard-8457c55f89-wgsrm   1m           11Mi           

metrics-server-6696956c95-mlnv6         1m           18Mi           

nginx-proxy-worker1                     1m           3Mi  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章