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  

 

猜你喜欢

转载自blog.csdn.net/zhangli_perdue/article/details/86593485