1 介绍
最近一个同事在老版本的 k8s 上安装metrics-server,pod一直处于running 非就绪状态,经过查看发现存在 tls 、软件版本、 资源权限等问题。记录在此处,以便于后续查阅、同类问题续更。
2 安装
参考官方文档 kubernetes-sigs/metrics-server 执行如下命令即可
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
注意事项:
- 如果需要忽略 Kubelet certificate ,name只需要在 deployment 的containers.args 中加上 –kubelet-insecure-tls 即可
- 如果在国内,需要将镜像仓库更改为国内的源,例如阿里云的,例如将 8s.gcr.io/metrics-server/metrics-server 更改为 registry.aliyuncs.com/google_containers/metrics-server
- 需要关注k8s 和 metrics-server 版本对应关系,高版本的server可能不兼容低版本的k8s集群
- 需要确认最新 components.yaml 中授权是不是满足需求
3 常见错误
笔者最近在 k8s 1.18.0 版本上安装 metrics-server, 先后报了两种错,具体如下:
第一次错误 持续 Failed probe
持续报错如下,检查参数发现都正常,最后发现1.18.0 和 metrics-server 6.x.x 不匹配 ,将其更改为 0.5.0 后报错发生改变了
Compatibility Matrix
Metrics Server | Metrics API group/version | Supported Kubernetes version |
---|---|---|
0.6.x | metrics.k8s.io/v1beta1 | 1.19+ |
0.5.x | metrics.k8s.io/v1beta1 | *1.8+ |
0.4.x | metrics.k8s.io/v1beta1 | *1.8+ |
0.3.x | metrics.k8s.io/v1beta1 | 1.18-1.21+ |
I0209 06:41:27.899879 1 server.go:187] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0209 06:41:37.899853 1 server.go:187] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
第二次错误 bad status code “403 Forbidden”
将版本更改为0.5.0 后持续报错403错误,根据提示 /stats/summary 发现可能是权限不够,检查发现最新的 components.yaml (截止2023-02-09) 中ClusterRole中只有nodes/metrics权限,缺少 nodes/stats 权限,因此手动添加权限后重新部署就恢复正常。文章来源:https://www.toymoban.com/news/detail-501911.html
I0209 06:54:30.425470 1 server.go:188] "Failed probe" probe="metric-storage-ready" err="not metrics to serve"
E0209 06:54:34.737196 1 scraper.go:139] "Failed to scrape node" err="GET \"https://172.22.0.139:10250/stats/summary?only_cpu_and_memory=true\": bad status code \"403 Forbidden\"" node="cnshc-map-p01012"
E0209 06:54:34.743811 1 scraper.go:139] "Failed to scrape node" err="GET \"https://172.22.0.67:10250/stats/summary?only_cpu_and_memory=true\": bad status code \"403 Forbidden\"" node="cnshc-map-p01041"
I0209 06:54:40.425528 1 server.go:188] "Failed probe" probe="metric-storage-ready" err="not metrics to serve"
E0209 06:54:49.734943 1 scraper.go:139] "Failed to scrape node" err="GET \"https://172.22.0.67:10250/stats/summary?only_cpu_and_memory=true\": bad status code \"403 Forbidden\"" node="cnshc-map-p01041"
E0209 06:54:49.749762 1 scraper.go:139] "Failed to scrape node" err="GET \"https://172.22.0.139:10250/stats/summary?only_cpu_and_memory=true\": bad status code \"403 Forbidden\"" node="cnshc-map-p01012"
I0209 06:54:50.425584 1 server.go:188] "Failed probe" probe="metric-storage-ready" err="not metrics to serve"
4 说明
软件:
k8s 版本: 1.18.0
参考文档:
metrics-server/blob/master/KNOWN_ISSUES.md
github metcis-server
unable to fetch metrics from node c2: request failed - “403 Forbidden”
Metrics servers deployment fails “no metrics to serve”文章来源地址https://www.toymoban.com/news/detail-501911.html
到了这里,关于k8s笔记24--安装metrics-server及错误处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!