前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kubernetes监控组件metrics-server部署

Kubernetes监控组件metrics-server部署

作者头像
星哥玩云
发布2022-07-19 15:14:43
4520
发布2022-07-19 15:14:43
举报
文章被收录于专栏:开源部署

从 v1.8 开始,资源使用情况的度量(如容器的 CPU 和内存使用)可以通过 Metrics API 获取。注意:

  • Metrics API 只可以查询当前的度量数据,并不保存历史数据
  • Metrics API URI 为 /apis/metrics.k8s.io/,在 k8s.io/metrics 维护
  • 必须部署 metrics-server 才能使用该 API,metrics-server 通过调用 Kubelet Summary API 获取数据

开启聚合层(Aggregation Layer)

关于聚合层的一些知识 聚合层运行在apiserver进程内部,允许用户为集群安装额外的Kubernetes风格的API,扩展core API的功能。聚合层需要启动apiserver的时候开启方可使用。

在用户注册扩展资源之前,聚合层什么也不做。用户要注册API,必需向系统中添加一个APIService对象,用来声明API的URL路径以及处理请求的后端APIService。此后,聚合层会将发往那个路径的所有请求(e.g. /apis/myextension.mycompany.io/v1/…)都转发给注册的APIService。

一般情况下,APIService对象以extension-apiserver运行在集群中的一个pod中,如果需要主动管理添加的资源,extension-apiserver还需要与一个或多个controlller进行关联,apiserver-builder为双方提供了一个框架。

Service Catalog是Kubernetes的一种API扩展实现,方便Kubernetes集群内部应用访问集群外部、由第三方管理、提供的服务,如由云供应商提供的数据库服务。Service Catalog的安装会为它所提供的服务提供extension-apiserver和controller两个扩展组件。

开启聚合层 修改apiserver配置文件,加入如下启动参数来启用aggregation layer:

--requestheader-client-ca-file=/etc/kubernetes/ssl/ca.pem --requestheader-allowed-names=aggregator --requestheader-extra-headers-prefix=X-Remote-Extra- --requestheader-group-headers=X-Remote-Group --requestheader-username-headers=X-Remote-User

部署 metrics-server

git clone https://github.com/kubernetes-incubator/metrics-server cd metrics-server kubectl create -f deploy/1.8+/

稍后就可以看到 metrics-server 运行起来:

kubectl -n kube-system get pods -l k8s-app=metrics-server

备注: 假如gcr.io的镜像访问不到可以将metrics-server-deployment.yaml中的镜像替换为:daocloud.io/liukuan73/metrics-server-amd64:v0.2.1

Metrics API

可以通过 kubectl proxy 来访问 Metrics API:

  • http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/nodes
  • http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/nodes/
  • http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/pods
  • http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/namespace//pods/

也可以直接通过 kubectl 命令来访问这些 API,比如:

  • kubectl get –raw apis/metrics.k8s.io/v1beta1/nodes
  • kubectl get –raw apis/metrics.k8s.io/v1beta1/pods
  • kubectl get –raw apis/metrics.k8s.io/v1beta1/nodes/
  • kubectl get –raw apis/metrics.k8s.io/v1beta1/namespace//pods/
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开启聚合层(Aggregation Layer)
  • 部署 metrics-server
  • Metrics API
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档