metrics-server状态是running,但是无法获取集群信息error: Metrics API not available

1、现象

安装Kuboard之前,使用kubectl top pods是可以得到集群的容器资源占用情况的。
但是安装了Kuboard之后,kubectl top pods指令一直无效。并且报错

在这里插入图片描述

2、按Kuboard的提示检查错误

2.1 重置metrics-server,无效

2.2 metrics-server状态是running,正常

在这里插入图片描述

2.3 检查ApiService

在这里插入图片描述

curl -ik https://10.102.193.60:443/apis/metrics.k8s.io/v1beta1

在这里插入图片描述

报错:"forbidden: User \"system:anonymous\" cannot get path \"/apis/metrics.k8s.io/v1beta1\"",

3、解决方案:准备认证信息

下面的内容可以保存为 auth-server.yaml。

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: categraf
rules:
  - apiGroups: [""]
    resources:
      - nodes
      - nodes/metrics
      - nodes/stats
      - nodes/proxy
      - services
      - endpoints
      - pods
    verbs: ["get", "list", "watch"]
  - apiGroups:
      - extensions
      - networking.k8s.io
    resources:
      - ingresses
    verbs: ["get", "list", "watch"]
  - nonResourceURLs: ["/metrics", "/metrics/cadvisor"]
    verbs: ["get"]
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: categraf
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: categraf
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: categraf
subjects:
- kind: ServiceAccount
  name: categraf
  namespace: kube-system

执行

kubectl apply -f auth-server.yaml

之后就正常了。

4、结果

在这里插入图片描述
在这里插入图片描述

5、参考文章

Kubernetes监控手册06-监控APIServer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Brave Seeker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值