k8s.1.22.4 部署metricserver

黄沙百战穿金甲,不破楼兰终不还。这篇文章主要讲述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-----

k8s.1.22.4 部署metricserver

文章图片

?
k8s.1.22.4 部署metricserver

文章图片

k8s.1.22.4 部署metricserver

文章图片

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

k8s.1.22.4 部署metricserver

文章图片

k8s.1.22.4 部署metricserver

文章图片

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

k8s.1.22.4 部署metricserver

文章图片

k8s.1.22.4 部署metricserver

文章图片

1.5 验证:
kubectl top node kubectl top pod -n kube-system

【k8s.1.22.4 部署metricserver】
k8s.1.22.4 部署metricserver

文章图片

k8s.1.22.4 部署metricserver

文章图片


    推荐阅读