ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Failed to list *v1.CronJob: the server could not find the requested resource

2022-08-15 13:34:36  阅读:289  来源: 互联网

标签:requested CronJob resource metrics v1 state go kube


基础环境

kubectl version
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.7", GitCommit:"132a687512d7fb058d0f5890f07d4121b3f0a2e2", GitTreeState:"clean", BuildDate:"2021-05-12T12:40:09Z", GoVersion:"go1.15.12", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"20+", GitVersion:"v1.20.15-eks-84b4fe6", GitCommit:"c813d094d1e9fa409079753049cfaa9a67524ed2", GitTreeState:"clean", BuildDate:"2022-06-09T18:20:31Z", GoVersion:"go1.15.15", Compiler:"gc", Platform:"linux/amd64"}

Prometheus 告警信息

{container="kube-rbac-proxy-self", endpoint="https-self", instance="10.20.108.17:9443", job="kube-state-metrics", namespace="monitoring", pod="kube-state-metrics-695cc54b57-5nkv2", resource="*v1.CronJob", result="error", service="kube-state-metrics"}
0.00792311111111111
{container="kube-rbac-proxy-self", endpoint="https-self", instance="10.20.108.17:9443", job="kube-state-metrics", namespace="monitoring", pod="kube-state-metrics-695cc54b57-5nkv2", resource="*v1.PodDisruptionBudget", result="error", service="kube-state-metrics"}
0.00792311111111111

问题分析

直接查看 k8s 中 kube-state-metrics pod 的报错;
报错如下:

W0815 04:57:34.763696       1 reflector.go:324] pkg/mod/k8s.io/client-go@v0.24.1/tools/cache/reflector.go:167: failed to list *v1.PodDisruptionBudget: the server could not find the requested resource
E0815 04:57:34.763739       1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.24.1/tools/cache/reflector.go:167: Failed to watch *v1.PodDisruptionBudget: failed to list *v1.PodDisruptionBudget: the server could not find the requested resource
W0815 04:57:42.762271       1 refl

问题排查

网上找了不少文档,google了不少材料,发现一个比较有价值的链接:
https://github.com/kubernetes/kube-state-metrics/issues/295
https://github.com/kubernetes/kube-state-metrics/issues/295

按照文档中所说,修改了 sa 权限,然后指定 监控指标。(去除 告警的指标)
但是还是不好使

问题解决

这套监控使用 https://github.com/prometheus-operator/prometheus-operator 来部署的;
安装完后,并没有做定制化的修改;
经最后查看,是 kubeStateMetrics 的版本 和 k8s 版本不兼容,导致有些功能不能支持;
对应的版本信息如下:
image

线上环境使用的版本如下:
image

最后修改 kube-state-metrics 的版本为 v2.3.0,然后重新部署,问题解决;

标签:requested,CronJob,resource,metrics,v1,state,go,kube
来源: https://www.cnblogs.com/Star-Haitian/p/16587928.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有