问题标签 [metrics-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kubernetes - 核心管道与服务管道。Kubernetes 监控哪个更好?
我同时使用核心管道和服务管道来监控 Kubernetes 集群资源以进行测试。但是我注意到 2 个管道公开的指标之间存在差异。与 Prometheus 公开的指标相比,指标服务器公开的核心管道指标的值相对较低。还有一个类似的事件,我之前在使用节点导出器时注意到,指标服务器显示的值低于实时值,但节点导出器的值更准确。
核心管道 vs 服务管道 Metrics-server 计算
我参考了这 2 份文件和其他一些文件,但没有找到任何原因说明为什么会发生这种情况。
- 这是否意味着度量服务器不可靠?
- 什么是更好的监控方法?核心管道还是服务管道?
kubernetes - 如何以 2 秒的轮询间隔获取实时的 kubernetes pod 指标?
我的用例是让 kubernetes pod 的指标每 2 秒可供使用一次。需要在此时间间隔轮询 Pod 以维护健康的控制平面(确定可能阻塞的 Pod 并避免将流量路由到这些端点)。
我现在正在使用 metrics-server,但它并不最适合我的用例。我在这里看到了下面的注释。
Metrics Server 不适用于非自动缩放目的。例如,不要使用它来将指标转发给监控解决方案,或作为监控解决方案指标的来源。在这种情况下,请直接从 Kubelet /metrics/resource 端点收集指标。
多久抓取一次指标?默认 60 秒,可以使用 metric-resolution 标志进行更改。我们不建议将值设置为低于 15s,因为这是 Kubelet 计算的指标的分辨率。
- 应该如何直接使用 kubelet 指标端点?我遇到的所有示例 use
metrics.k8s.io
。 - 另一种方法是
/sys/fs/cgroup/cpu/cpuacct.usage
直接从 docker 容器中读取数据,但需要有一个聚合层。应该如何设计这个统计聚合层?
还有其他方法吗?解决我的要求的最佳推荐方法是什么?谢谢。
kubernetes - Kubernetes 监控指标服务器未启动
我有一个kubeadm
带有一个主节点和工作节点的 Kubernetes 集群。
我正在尝试安装 Kubernetes 指标服务器,但不会收集任何内容。指标服务器内的消息是:
如果我正在尝试kubectl top node
,那么我会遇到以下问题:
这些是我的 kubernetes 文件:
kubernetes - Kubernetes 指标服务器无法与 Linkerd 一起使用
我有一个指标服务器和一个使用此服务器的水平 pod 自动缩放器,在我的集群上运行。
这工作得很好,直到我将 linkerd-proxies 注入到我的应用程序正在运行的命名空间的部署中。在该命名空间中运行kubectl top pod
会导致error: Metrics not available for pod <name>
错误。但是,metrics-server pod 的日志中没有任何内容。
metrics-server 显然在其他命名空间中工作正常,因为 top 在每个命名空间中都可以工作,但网格化的命名空间除外。
起初我认为这可能是因为代理的资源请求/限制未设置,但在使用它们运行注入后(kubectl get -n <namespace> deploy -o yaml | linkerd inject - --proxy-cpu-request "10m" --proxy-cpu-limit "1" --proxy-memory-request "64Mi" --proxy-memory-limit "256Mi" | kubectl apply -f -
),问题仍然存在。
这是一个已知问题,是否有任何可能的解决方案?
PS:我有一个kube-prometheus-stack在不同的命名空间中运行,这似乎能够从网格 pod 中抓取 pod 指标就好了