黄沙百战穿金甲,不破楼兰终不还。这篇文章主要讲述k8s.1.22.4 部署metricserver相关的知识,希望能为你提供帮助。
一: metircserver概述:
1.1 Kubernetes Metrics Server:
1.Kubernetes Metrics Server 是 Cluster 的核心监控数据的聚合器,kubeadm 默认是不部署的。2. Metrics Server 供 Dashboard 等其他组件使用,是一个扩展的 APIServer,依赖于 API Aggregator。所以,在安装 Metrics Server 之前需要先在 kube-apiserver 中开启 API Aggregator。3. Metrics API 只可以查询当前的度量数据,并不保存历史数据。4. Metrics API URI 为 /apis/metrics.k8s.io/,在 k8s.io/metrics 下维护。必须部署 metrics-server 才能使用该 API,metrics-server 通过调用 kubelet Summary API 获取数据。
1.2 前提条件
注意:使用 Metrics Server 有必备两个条件:1、API Server 启用 Aggregator Routing 支持。否则 API Server 不识别请求:Error from server (ServiceUnavailable): the server is currently unable to handle the request (get pods.metrics.k8s.io)2、API Server 能访问 Metrics Server Pod IP。否则 API Server 无法访问 Metrics Server:E1223 07:23:04.3302061 available_controller.go:420] v1beta1.metrics.k8s.io failed with: failing or missing response from https://10.171.248.214:4443/apis/metrics.k8s.io/v1beta1: Get https://10.171.248.214:4443/apis/metrics.k8s.io/v1beta1: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)3、启用API Aggregator,API Aggregation 允许在不修改 Kubernetes 核心代码的同时扩展 Kubernetes API,即:将第三方服务注册到 Kubernetes API 中,这样就可以通过 Kubernetes API 来访问第三方服务了,例如:Metrics Server API。注:另外一种扩展 Kubernetes API 的方法是使用 CRD(Custom Resource Definition,自定义资源定义)。
1.3 k8s 1.22.4 部署metricserver
github地址:https://github.com/kubernetes-sigs/metrics-server/releases
最新版本:
https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.5.2wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.5.2/components.yaml --no-check-certificate
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.5.2/components.yamlcat components.yaml |grep image需要先下载镜像k8s.gcr.io/metrics-server/metrics-server:v0.5.2registry.aliyuncs.com/google_containers/metrics-server:v0.5.2vim components.yaml
----image: registry.aliyuncs.com/google_containers/metrics-server:v0.5.2-----
文章图片
?
文章图片
文章图片
1.3 修改kube-apiserver 配置文件
二、修改配置1、检查 API Server 是否开启了 Aggregator Routing:查看 API Server 是否具有 --enable-aggregator-routing=true 选项。重启kube-apiserver
service kube-apiserver restart ps -ef |grep kube-apiserver
文章图片
文章图片
1.4 配置 components.yaml
vim components.yaml----
spec:
containers:
- args:
- --cert-dir=/tmp
- --secure-port=4443
- --kubelet-preferred-address-types=InternalIP# 删掉 ExternalIP,Hostname这两个,这里已经改好了,你那边要自己核对一下
- --kubelet-use-node-status-port
- --metric-resolution=15s
- --kubelet-insecure-tls### 加上这句配置
image: registry.aliyuncs.com/google_containers/metrics-server/metrics-server:v0.5.2
imagePullPolicy: IfNotPresent-----kubectl apply -f components.yaml
文章图片
文章图片
1.5 验证:
kubectl top node
kubectl top pod -n kube-system
【k8s.1.22.4 部署metricserver】
文章图片
文章图片
推荐阅读
- dart系列之:数学什么的就是小意思,看我dart如何玩转它
- Spring认证中国教育管理中心-Spring Data Redis框架教程六
- 6000字加图文 | 抓包带你深入了解网关到底起什么样的作用(不同网段通信的过程详解)
- Unity实战篇 | 接入 声网SDK 实现 视频通话——自己动手做一个 视频通话
- jmeter 压测之发送 java 请求
- AWSEKS 添加IAM用户角色
- 如何使用WordPress Meta Box保存多文本框
- 更新wordpress后如何解决php错误
- 如何将wordpress图像调整为固定高度和自动宽度