metrics-server 可实现 Kubernetes 的 Resource Metrics API(metrics.k8s.io),通过此 API 可以查询 Pod 与 Node 的部分监控指标,Pod 的监控指标用于 HPA、VPA 与 kubectl top pods
命令,而 Node 指标目前只用于 kubectl top nodes
命令。容器服务 TKE 自带 Resource Metrics API 的实现,指向 hpa-metrics-server,且目前提供 Pod 的监控指标。
将 metrics-server 安装到集群,可以通过 kubectl top nodes
获取节点的监控概览,以替换 Resource Metrics API 的实现。容器服务控制台创建的 HPA 不会用到 Resource Metrics,只会使用 Custom Metrics,因此安装 metrics-server 不会影响在 TKE 控制台创建的 HPA。本文将介绍如何在 TKE 上安装 metrics-server。
执行以下命令,下载 metrics-server 的最新部署 components.yaml 文件。
wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
metrics-server 会请求每台节点的 kubelet 接口来获取监控数据,接口通过 HTTPS 暴露,但 TKE 节点的 kubelet 使用的是自签证书,若 metrics-server 直接请求 kubelet 接口,将产生证书校验失败的错误,因此需要在 components.yaml 文件中加上 --kubelet-insecure-tls
启动参数。
另外,由于 metrics-server 官方镜像仓库存储在 k8s.gcr.io
,国内可能无法直接拉取,您可以自行同步到 CCR 或使用已同步的镜像 ccr.ccs.tencentyun.com/mirrors/metrics-server:v0.4.0
。
components.yaml 文件修改示例如下:
containers:
- args:
- --cert-dir=/tmp
- --secure-port=4443
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
- --kubelet-use-node-status-port
- --kubelet-insecure-tls # 加上该启动参数
image: ccr.ccs.tencentyun.com/mirrors/metrics-server:v0.4.0 # 国内集群,请替换成该镜像地址
修改 components.yaml 之后,执行以下命令,通过 kubectl 一键部署到集群:
kubectl apply -f components.yaml
说明:通过上述步骤,即可安装部署 metrics-server。您也可以执行以下命令一键安装 metrics-server,但该方式无法保证与最新版同步。
kubectl apply -f https://raw.githubusercontent.com/TencentCloudContainerTeam/manifest/master/metrics-server/components.yaml
$ kubectl get pod -n kube-system | grep metrics-server
metrics-server-f976cb7d-8hssz 1/1 Running 0 1m
$ kubectl get --raw /apis/metrics.k8s.io/v1beta1 | jq
{
"kind": "APIResourceList",
"apiVersion": "v1",
"groupVersion": "metrics.k8s.io/v1beta1",
"resources": [
{
"name": "nodes",
"singularName": "",
"namespaced": false,
"kind": "NodeMetrics",
"verbs": [
"get",
"list"
]
},
{
"name": "pods",
"singularName": "",
"namespaced": true,
"kind": "PodMetrics",
"verbs": [
"get",
"list"
]
}
]
}
$ kubectl top nodes
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
test1 1382m 35% 2943Mi 44%
test2 397m 10% 3316Mi 49%
test3 81m 8% 464Mi 77%
域名未在华为云上接入过CDN,系统提示该域名已添加 域名接入CDN后,网页访问速度...
突发性公共事件,是现代社会风险治理的重要课题。党的十九届五中全会对国家治理...
签名方法 v1 简单易用,但是功能和安全性都不如签名方法 v3,推荐使用签名方法 v...
随着各种软硬件技术的发展,关于服务器安全问题以及网络使用过程中的故障已经成...
本文转载自微信公众号「Java极客技术」,作者鸭血粉丝。转载本文请联系Java极客...
接上昨天的《前端基础知识整理汇总(上)》,这些知识虽然是很基础的,但是对于系...
本文转载自微信公众号「Java大数据与数据仓库」,作者刘不二 。转载本文请联系Ja...
客户简介 二十国集团(G20)由七国集团财长会议于1999年倡议成立,由阿根廷、澳...
一、RTC业务简单介绍 RTC(Real Time Communication)实时通信业务,目的是在设...
在互联网高速发展的时代,服务器租用托管、vps主机、虚拟主机等互联网基础产品充...