问题标签 [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.

0 投票
1 回答
422 浏览

kubernetes - 无法获取 cpu pod 指标,k8s-containerd-containerd-shim-runsc-v1-gvisor

我从 gvisor-containerd-shim (Shim V1) 迁移到 containerd-shim-runsc-v1 (Shim V2)。在 gvisor-containerd-shim 的情况下,指标服务器和 Horizo​​ntal Pod Autoscaler 过去工作得很好。

但是现在,使用 containerd-shim-runsc-v1,我不断获得节点和 runc pod 的 CPU 和内存指标,但我只获得 runc (gvisor) pod 的内存指标。

例如,我使用 containerd-shim-runsc-v1 在 gvisor pod 中部署了一个 PHP 服务器。我得到以下指标:

在向 php-apache-gvisor pod 发送一些负载后,我可以看到节点和 runc pod(负载生成器)的 CPU 和内存使用增量。我还可以看到 php-apache-gvisor 的内存从 52 Mi 增加到 72 Mi,但它的 CPU 使用率保持在 0%。为什么cpu使用率一直保持在0%?

我也尝试了不同的容器图像,但我一直得到相同的结果。

随着负载,我得到以下指标:

更多信息:

kubeadm,kubernetes 1.15.3,containerd 1.3.3,runsc nightly/2019-09-18,法兰绒

/etc/containerd/config.toml (containerd-shim-runsc-v1)

/etc/containerd/config.toml (gvisor-containerd-shim)

指标服务器 yaml 基于https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml,具有以下参数

当前部署具有以下资源部分

0 投票
2 回答
191 浏览

kubernetes - 使用指标的 Kubernetes pod 内存限制

我正在尝试使用 API 获取分配给 pod 的实际和总内存量。虽然我能够使用指标服务器 api 获取实际内存消耗。如何使用指标服务器 API 获取分配给 pod 的总内存?

我正在开发一个仪表板,我需要在其中展示 pod 内存和 cpu。ui 图已输入实际和总数量。我可以获取命令 kubectl get --raw /apis/metrics.k8s.io/v1beta1/namespaces/default/pods/ 使用的实际内存,但是如何获取 pod 的总内存?

0 投票
2 回答
4841 浏览

ssl - x509:由未知权威度量服务器签署的证书

我是 kubernetes 的新手,我终于意识到如何启动 metrics-server 作为记录的 kubernetes-sigs/metrics-server。如果其他人想知道您需要部署在主节点上,并且集群中至少有一个工作人员。

所以我得到这个错误:

我正在使用我自己的 CA(非自签名)并且我修改了 components.yml 文件(示例):

我知道我可以通过使用--kubelet-insecure-tls我已经尝试过的这个标志来禁用 tls。我想使用我自己的 CA 来提高安全性。

我看到了其他许多相关问题(样本很少),例如:

x509 证书由未知机构签署 - Kuberneteskubectl 无法连接到服务器:x509:证书由未知机构签署

虽然我已经应用了 chown 我$HOME/.kube/config仍然看到这个错误。

我哪里错了?

更新:在工作人员上,我正在创建一个目录,例如/tmp/ca,我在目录中添加了 ca 文件。

我对安装点还不是很好,我认为我做错了什么。图像的默认语法可以在这里找到kubernetes-sigs/metrics-server/v0.3.7(参见 components.yml 文件)。

我试图在我的工作人员上创建一个目录,例如 /tmp/ca 我修改了标志--cert-dir=/tmp/camountPath: /tmp/ca

当我部署文件时,例如:

我不断收到来自 metrics-server-xxxx 的错误:

尽管我已授予对目录的完全访问权限,例如:

我不确定我哪里出错了。

如何配置以便有人可以使用非自签名证书?我可以看到大多数人都在使用我想避免的非 SSL。

图像中我的参数示例:

更新 2:将 curl 命令从 Master 添加到 Worker,包括错误输出:

0 投票
1 回答
755 浏览

kubernetes - GKE 指标服务器生成错误 - flag.Parse: E0907

在 GKE 中创建了新集群并在日志中看到错误:

“错误:在标志之前记录。解析:E0907 16:33:58.813216 1 nanny_lib.go:128] 获取https://10.0.0.1:443/api/v1/nodes?resourceVersion=0:http2:没有可用的缓存连接"

我尝试找到有关如何修复此错误的解决方案。

主版本:1.16.13-gke.1

GKE 的云操作:系统和工作负载日志记录和监控

0 投票
0 回答
597 浏览

kubernetes - 水平 pod 自动缩放器无法在 minikube 部署中获取指标

这是一个未解决的问题:https ://github.com/kubernetes/minikube/issues/9370

重现步骤:

  1. $ minikube start — extra-config=controller-manager.horizontal-pod-autoscaler-upscale-delay=1m — extra-config=controller-manager.horizontal-pod-autoscaler-downscale-delay=1m — extra-config=controller-manager.horizontal-pod-autoscaler-sync-period=10s — extra-config=controller-manager.horizontal-pod-autoscaler-downscale-stabilization=1m
  2. $ minikube add-ons enable metrics-server
  3. .yaml使用资源请求和限制创建:
  1. $ kubectl -n test-1 autoscale deployment orion --min=1 --max=5 --cpu-percent=50

失败命令的完整输出:

命令$ kubectl -n test-1 describe hpa orion返回:

命令$ minikube addons list返回:


正如您在命令输出中看到的那样,即使指标服务器似乎工作正常(hpa Orion 中的指标说:)resource cpu on pods (as a percentage of request): 0%,当涉及到 Orion hpa 产生的事件时,关于指标的计算存在错误:

这个水平 pod 自动缩放器无法正常工作的原因是什么?


其他详情:

Minikube 版本:

Kubernetes 版本:

0 投票
2 回答
626 浏览

kubernetes - Kubernetes 指标服务器不提供所有指标或扩展 HPA

按照此处的示例https://kubernetes.io/docs/tasks/run-application/horizo​​ntal -pod-autoscale-walkthrough/#autoscaling-on-metrics-not-related-to-kubernetes-objects ,我创建了安装的指标-server 并修改如下:

查询时会列出我的节点:

但是,HPA 目标仍然“未知”:

运行顶级节点有效,但顶级 pod 无效

顶部 pod 返回错误error: Metrics not available

这是在 Kubernetes 服务器版本v1.19.3和指标服务器版本上0.3.6

来自 metrics-server 的日志

0 投票
2 回答
8847 浏览

kubernetes - Kubernetes 指标服务器未运行

我已经使用https://github.com/kubernetes-sigs/metrics-server#installation在 VirtualBox 上的本地 k8s 集群上安装了指标服务器

但是指标服务器 pod 在

来自 pod 的事件描述

使用kubectl logs deployment/metrics-server -n kube-system的指标部署日志如下

0 投票
0 回答
919 浏览

kubernetes - Helm:有条件的部署一个依赖的chart,只有之前没有安装过才安装

在安装 helm chart 时,依赖项的条件与以下 Chart.yaml 文件一样有效。但它不允许基于现有 Kubernetes 资源应用条件。

我在命名空间(默认)中进行了图表(my-chart)的本地安装,然后我尝试在另一个命名空间(pb)中安装相同的图表我收到以下错误,说明资源已经存在。此资源“system:metrics-server-aggregated-reader”已作为以前的依赖项(metrics-server)安装在集群范围内。以下是重现的步骤。

有一种方法可以修改 metrics-server 图表中的模板,以有条件地生成清单文件,如Helm Conditional Templates中所述。为了做到这一点,我必须在内部工件中修改和维护指标服务器图表,这将限制我使用最新的图表。我正在寻找一种方法来查询现有的 Kubernetes 资源“system:metrics-server-aggregated-reader”,并且仅在此类资源不存在时才安装依赖关系图。

0 投票
1 回答
1563 浏览

kubernetes - metrics-server 在部署期间没有已知 pod 错误的指标

我有一个新创建的 AWS EKS 1.18 集群,上面部署了应用程序,一切都很好,测试和负载测试都成功了,即我的 HPA 和 metrics-server 工作正常。

但是当我对服务进行部署时,metrics-server 正在 unable to fetch pod metrics for pod xxx: no metrics known for pod为新部署的 pod 提供服务,然后问题得到解决,一切都恢复正常。

我的问题是,这是度量服务器的预期行为吗?还是我应该再次检查我的配置?

非常感谢。

0 投票
2 回答
2609 浏览

kubernetes - 如何在 kubernetes 集群外将 metrics-server 抓取到 prometheus

我已经安装了 kubernetes metrics-server https://github.com/kubernetes-sigs/metrics-server它工作正常,我可以使用“kubectl top pods”和“kubectl top nodes”,现在我想将指标刮到prometheus在Grafana上显示的kubernetes集群之外,我尝试过的是

  1. 使用 NodePort 公开 metrics-server 服务但不工作,出现一些 https 问题
  2. 从https://github.com/ghouscht/metrics-server-exporter/安装 metrics-server-exporter (这个只刮了几个指标,我在 grafana 上看不到)和https://github.com/grupozap/metrics -server-exporter/(这个不是 http 应用程序,所以我不能公开为 NodePort 服务)

我应该怎么办?