问题描述
新建的集群里使用 kubectl top node
时报错:
[root@beta-test-v4-dubbo02 ~]# kubectl top node
Error from server (NotFound): the server could not find the requested resource (get services http:heapster:)
复制代码
问题分析
根据错误检索了下信息,是因为没有缺少 heapster。常用来收集指标信息的插件有 metrics-server 和 heapster 。都说 k8s 版本再 1.8 之后由 metrics-server 替代了。这是一个 K8S 的资源监控工具,监控 CPU 和内存的使用情况。他是一款必须安装的组件,因为有其他许多组件依赖他,比如 HPA,scheduler,kubectl top 。那下面就开始安装 metrics-server 了。
问题解决
下载安装
wget https://github.com/kubernetes-sigs/metrics-server/archive/v0.3.6.tar.gz
tar -zxvf v0.3.6.tar.gz
cd metrics-server-0.3.6/deploy/1.8+/
# 添加配置,见下图
vi metrics-server-deployment.yaml
kubectl apply -f ./
复制代码
metrics-server-deployment.yaml 添加的配置如下:
image: rancher/metrics-server:v0.3.6 #修改镜像
imagePullPolicy: Always
command: # 添加这几行
- /metrics-server
- --metric-resolution=30s
- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP
volumeMounts:
- name: tmp-dir
mountPath: /tmp
复制代码
由于网络原因,导致默认配置中的镜像版本 k8s.gcr.io/metrics-server-amd64:v0.3.6 拉取失败,故修改镜像地址为 rancher/metrics-server:v0.3.6 。
问题验证
[root@beta-test-v4-dubbo02 1.8+]# kubectl top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
beta-autoceshi-1 3134m 78% 2110Mi 13%
beta-test-v4-dubbo02 310m 31% 1814Mi 47%
beta-vediocloud2-1 235m 5% 1437Mi 9%
beta-vediocloud2-2 186m 4% 818Mi 5%
beta-vediocloud2-3 270m 6% 3147Mi 19%
beta-vediocloudddd-1 208m 5% 1522Mi 9%
beta-vediocloudddd-2 228m 5% 3867Mi 24%
beta-vediocloudddd-3 270m 6% 2171Mi 13%
beta-vediocloudddd-4 190m 4% 1436Mi 9%
beta-vediocloudddd-5 3578m 89% 2378Mi 14%
beta-vediocloudddd-6 228m 5% 2011Mi 12%
beta-vediocloudddd-7 191m 4% 2139Mi 13%
beta-vediocloudddd-9 150m 3% 1822Mi 11%
复制代码
大功告成!!
评论