在我们的EKS集群中,我们使用prometheus-community helm chart安装了prometheus。我们希望开始将指标馈送到HPA,以允许基于CPU、内存和网络活动的扩展(这在默认指标服务器中不可用)。
运行helm install命令后
helm install custom-metrics prometheus-community/prometheus-adapter --namespace monitoring --set prometheus.url=http://prometheus-operated.monitoring.svc --set hostNetwork.enabled=true
字符串
它成功运行,几分钟后,你可以在Kubectl中看到它们已经出现的apiservices,现在显示为true。
我遇到的问题是运行任何kubectl命令,例如
kubectl get pods -n monitoring
型
第一行总是显示
E0726 13:18:37.044670 28536 memcache.go:287] couldn't get resource list for custom.metrics.k8s.io/v1beta1: Unauthorized
型
然后是getpods命令的预期输出。
当我尝试运行kubectl get --raw /apis/custom.metrics.k8s.io/v1beta1-n监控时,我得到以下错误消息:
Error from server (NotFound): the server could not find the requested resource
型
有人知道我需要做什么配置更改来设置我的HPA吗?我知道需要为HPA创建自定义规则来访问它们,但我计划在适配器运行后设置这些规则。
我尝试将hostNetwork.enabled设置为true,并将其默认值保留为false。
下面是我的get SVC命令的输出:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
alertmanager-operated ClusterIP None <none> 9093/TCP,9094/TCP,9094/UDP 21d
custom-metrics-prometheus-adapter ClusterIP 172.20.67.162 <none> 443/TCP 82m
kube-prometheus-stack-alertmanager ClusterIP 172.20.196.135 <none> 9093/TCP 21d
kube-prometheus-stack-grafana ClusterIP 172.20.175.12 <none> 80/TCP 21d
kube-prometheus-stack-kube-state-metrics ClusterIP 172.20.20.63 <none> 8080/TCP 21d
kube-prometheus-stack-operator ClusterIP 172.20.145.105 <none> 443/TCP 21d
kube-prometheus-stack-prometheus ClusterIP 172.20.178.62 <none> 9090/TCP 21d
kube-prometheus-stack-prometheus-node-exporter ClusterIP 172.20.217.223 <none> 9100/TCP 21d
prometheus-operated ClusterIP None <none> 9090/TCP 21d
型
1条答案
按热度按时间b1zrtrql1#
custom.metrics.k8s.io/v1beta1不是标准的Kubernetes API。Kubernetes API可以使用自定义资源进行扩展,这些资源完全由Kubernetes管理,并可用于Kubectl和其他工具。
所以,你可以尝试列出所有API服务器:
第一个月
所有值应为
True
你应该看看
字符串
你可能想看看kube-system内部的metrics服务器是否崩溃了。比如:
型
或者是
型
您也可以按照AWS documentations使用metrics-server