1 介紹
最近一個(gè)同事在老版本的 k8s 上安裝metrics-server,pod一直處于running 非就緒狀態(tài),經(jīng)過查看發(fā)現(xiàn)存在 tls 、軟件版本、 資源權(quán)限等問題。記錄在此處,以便于后續(xù)查閱、同類問題續(xù)更。
2 安裝
參考官方文檔 kubernetes-sigs/metrics-server 執(zhí)行如下命令即可
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
注意事項(xiàng):
- 如果需要忽略 Kubelet certificate ,name只需要在 deployment 的containers.args 中加上 –kubelet-insecure-tls 即可
- 如果在國(guó)內(nèi),需要將鏡像倉(cāng)庫(kù)更改為國(guó)內(nèi)的源,例如阿里云的,例如將 8s.gcr.io/metrics-server/metrics-server 更改為 registry.aliyuncs.com/google_containers/metrics-server
- 需要關(guān)注k8s 和 metrics-server 版本對(duì)應(yīng)關(guān)系,高版本的server可能不兼容低版本的k8s集群
- 需要確認(rèn)最新 components.yaml 中授權(quán)是不是滿足需求
3 常見錯(cuò)誤
筆者最近在 k8s 1.18.0 版本上安裝 metrics-server, 先后報(bào)了兩種錯(cuò),具體如下:
第一次錯(cuò)誤 持續(xù) Failed probe
持續(xù)報(bào)錯(cuò)如下,檢查參數(shù)發(fā)現(xiàn)都正常,最后發(fā)現(xiàn)1.18.0 和 metrics-server 6.x.x 不匹配 ,將其更改為 0.5.0 后報(bào)錯(cuò)發(fā)生改變了
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"
第二次錯(cuò)誤 bad status code “403 Forbidden”
將版本更改為0.5.0 后持續(xù)報(bào)錯(cuò)403錯(cuò)誤,根據(jù)提示 /stats/summary 發(fā)現(xiàn)可能是權(quán)限不夠,檢查發(fā)現(xiàn)最新的 components.yaml (截止2023-02-09) 中ClusterRole中只有nodes/metrics權(quán)限,缺少 nodes/stats 權(quán)限,因此手動(dòng)添加權(quán)限后重新部署就恢復(fù)正常。文章來源:http://www.zghlxwxcb.cn/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”文章來源地址http://www.zghlxwxcb.cn/news/detail-501911.html
到了這里,關(guān)于k8s筆記24--安裝metrics-server及錯(cuò)誤處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!