kubectl top pods 命令,而 Node 指标目前只用于 kubectl top nodes 命令。容器服务 TKE 自带 Resource Metrics API 的实现,指向 hpa-metrics-server,且目前提供 Pod 的监控指标。kubectl top nodes 获取节点的监控概览,以替换 Resource Metrics API 的实现。容器服务控制台创建的 HPA 不会用到 Resource Metrics,仅使用 Custom Metrics,因此安装 metrics-server 不会影响在 TKE 控制台创建的 HPA。本文将介绍如何在 TKE 上安装 metrics-server。wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.5.0/components.yaml
--kubelet-insecure-tls 启动参数。
且由于 metrics-server 官方镜像仓库存储在 k8s.gcr.io ,国内可能无法直接拉取,您可以自行同步到 CCR 或使用已同步的镜像 ccr.ccs.tencentyun.com/mirrors/metrics-server:v0.5.0。containers:- args:- --cert-dir=/tmp- --secure-port=443- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname- --kubelet-use-node-status-port- --metric-resolution=15s- --kubelet-insecure-tls # 加上该启动参数image: ccr.ccs.tencentyun.com/mirrors/metrics-server:v0.5.0 # 国内集群,请替换成这个镜像
kubectl apply -f components.yaml
$ kubectl get pod -n kube-system | grep metrics-servermetrics-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 nodesNAME CPU(cores) CPU% MEMORY(bytes) MEMORY%test1 1382m 35% 2943Mi 44%test2 397m 10% 3316Mi 49%test3 81m 8% 464Mi 77%
文档反馈