阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Kubernetes监控组件metrics-server部署

220次阅读
没有评论

共计 1871 个字符,预计需要花费 5 分钟才能阅读完成。

从 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/

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1871字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中