前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kubernetes之metrics-server安装与配置

kubernetes之metrics-server安装与配置

作者头像
菲宇
发布2019-06-12 16:30:06
4.9K0
发布2019-06-12 16:30:06
举报
文章被收录于专栏:菲宇

版权声明:欢迎交流,菲宇运维! https://cloud.tencent.com/developer/article/1444859

一、metrics-server简介

从 Kubernetes 1.8 开始,资源使用指标(如容器 CPU 和内存使用率)通过 Metrics API 在 Kubernetes 中获取, metrics-server 替代了heapster。Metrics Server 实现了Resource Metrics API,Metrics Server 是集群范围资源使用数据的聚合器。

Metrics Server 从每个节点上的 Kubelet 公开的 Summary API 中采集指标信息。

kubernetes metrics server 参考文档 https://github.com/kubernetes-incubator/metrics-server

二、安装metrics-server

会用到的yaml文件:

https://github.com/kubernetes-incubator/metrics-server/tree/master/deploy/1.8%2B 或者

https://github.com/kubernetes/kubernetes/tree/release-1.11/cluster/addons/metrics-server(建议使用)

下载六个文件并创建

for file in auth-delegator.yaml auth-reader.yaml metrics-apiservice.yaml metrics-server-deployment.yaml metrics-server-service.yaml resource-reader.yaml;do wget https://raw.githubusercontent.com/kubernetes/kubernetes/release-1.11/cluster/addons/metrics-server/$file; done

需要修改的地方:

metrics-server-deployment.yaml #

  • --source=kubernetes.summary_api:''
  • --source=kubernetes.summary_api:https://kubernetes.default?kubeletHttps=true&kubeletPort=10250&insecure=true

resource-reader.yaml#

resources:

  • pods
  • nodes
  • namespaces
  • nodes/stats #新加

开始运行: kubectl apply -f .

root@master metrics# kubectl api-versions

代码语言:javascript
复制
admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1beta1
apiregistration.k8s.io/v1
apiregistration.k8s.io/v1beta1
apps/v1 apps/v1beta1
apps/v1beta2 authentication.k8s.io/v1 
authentication.k8s.io/v1beta1 
authorization.k8s.io/v1 
authorization.k8s.io/v1beta1 
autoscaling/v1 
autoscaling/v2beta1 
batch/v1 
batch/v1beta1 
certificates.k8s.io/v1beta1 
crd.projectcalico.org/v1 
events.k8s.io/v1beta1 
extensions/v1beta1 
metrics.k8s.io/v1beta1 
#metrics控制器,有说明成功 
networking.k8s.io/v1 
policy/v1beta1 
rbac.authorization.k8s.io/v1 
rbac.authorization.k8s.io/v1beta1 
scheduling.k8s.io/v1beta1 
storage.k8s.io/v1 
storage.k8s.io/v1beta1 v1

查看pods

代码语言:javascript
复制
[root@master metrics]# kubectl get pods -n kube-system 
NAME                                    READY     STATUS    RESTARTS   AGE
coredns-78fcdf6894-cj6tn                1/1       Running   42         26d
coredns-78fcdf6894-wfvk8                1/1       Running   42         26d
elasticsearch-logging-0                 1/1       Running   45         4d
elasticsearch-logging-1                 1/1       Running   47         4d
etcd-master                             1/1       Running   42         26d
grafana-7f8bcdfbbf-qzln5                1/1       Running   4          13d
kibana-logging-7444956bf8-x8qqd         1/1       Running   2          4d
kube-apiserver-master                   1/1       Running   47         26d
kube-controller-manager-master          1/1       Running   43         26d
kube-flannel-ds-m4f4j                   1/1       Running   33         26d
kube-flannel-ds-xvssj                   1/1       Running   18         26d
kube-proxy-5lw6z                        1/1       Running   39         26d
kube-proxy-qlhg7                        1/1       Running   18         26d
kube-scheduler-master                   1/1       Running   39         26d
kubernetes-dashboard-767dc7d4d-4bt48    1/1       Running   5          5d
metrics-server-v0.2.1-84678c956-hbz2b   2/2       Running   0          2m

#这个状态是正常的

master新开一个反向代理端口

root@master ~# kubectl proxy --port=8080

Starting to serve on 127.0.0.1:8080

master新开一个窗口查看

代码语言:javascript
复制
[root@master ~]# curl http://localhost:8080/apis/metrics.k8s.io/v1beta1/nodes
{
  "kind": "NodeMetricsList",
  "apiVersion": "metrics.k8s.io/v1beta1",
  "metadata": {
    "selfLink": "/apis/metrics.k8s.io/v1beta1/nodes"
  },
  "items": [
    {
      "metadata": {
        "name": "master",
        "selfLink": "/apis/metrics.k8s.io/v1beta1/nodes/master",
        "creationTimestamp": "2018-09-25T09:48:21Z"
      },
      "timestamp": "2018-09-25T09:48:00Z",
      "window": "1m0s",
      "usage": {
        "cpu": "211m",
        "memory": "2905388Ki"
      }
    },
    {
      "metadata": {
        "name": "node01",
        "selfLink": "/apis/metrics.k8s.io/v1beta1/nodes/node01",
        "creationTimestamp": "2018-09-25T09:48:21Z"
      },
      "timestamp": "2018-09-25T09:48:00Z",
      "window": "1m0s",
      "usage": {
        "cpu": "150m",
        "memory": "3670276Ki"
      }
    }
  ]
}

三、测试是否安装成功

root@master metrics# kubectl top nodes

error: metrics not available yet

说明还未成功,需要等待一会

查看node

代码语言:javascript
复制
[root@master metrics]# kubectl top node
NAME      CPU(cores)   CPU%      MEMORY(bytes)   MEMORY%   
master    207m         10%       2832Mi          76%       
node01    144m         4%        3619Mi          37% 

查看pods

代码语言:javascript
复制
[root@master metrics]# kubectl top pods -n kube-system
NAME                                    CPU(cores)   MEMORY(bytes)   
coredns-78fcdf6894-cj6tn                2m           11Mi            
coredns-78fcdf6894-wfvk8                1m           11Mi            
elasticsearch-logging-0                 6m           1347Mi          
elasticsearch-logging-1                 6m           1326Mi          
etcd-master                             17m          84Mi            
grafana-7f8bcdfbbf-qzln5                0m           21Mi            
kibana-logging-7444956bf8-x8qqd         4m           83Mi            
kube-apiserver-master                   89m          486Mi           
kube-controller-manager-master          19m          59Mi            
kube-flannel-ds-m4f4j                   5m           14Mi            
kube-flannel-ds-xvssj                   5m           12Mi            
kube-proxy-5lw6z                        3m           15Mi            
kube-proxy-qlhg7                        3m           16Mi            
kube-scheduler-master                   6m           13Mi            
kubernetes-dashboard-767dc7d4d-4bt48    0m           11Mi            
metrics-server-v0.2.1-84678c956-hbz2b   1m           24Mi 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年09月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、metrics-server简介
  • 二、安装metrics-server
  • 三、测试是否安装成功
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档