问题标签 [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 - 无法获取 cpu pod 指标,k8s-containerd-containerd-shim-runsc-v1-gvisor
我从 gvisor-containerd-shim (Shim V1) 迁移到 containerd-shim-runsc-v1 (Shim V2)。在 gvisor-containerd-shim 的情况下,指标服务器和 Horizontal 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,具有以下参数
当前部署具有以下资源部分
kubernetes - 使用指标的 Kubernetes pod 内存限制
我正在尝试使用 API 获取分配给 pod 的实际和总内存量。虽然我能够使用指标服务器 api 获取实际内存消耗。如何使用指标服务器 API 获取分配给 pod 的总内存?
我正在开发一个仪表板,我需要在其中展示 pod 内存和 cpu。ui 图已输入实际和总数量。我可以获取命令 kubectl get --raw /apis/metrics.k8s.io/v1beta1/namespaces/default/pods/ 使用的实际内存,但是如何获取 pod 的总内存?
ssl - x509:由未知权威度量服务器签署的证书
我是 kubernetes 的新手,我终于意识到如何启动 metrics-server 作为记录的 kubernetes-sigs/metrics-server。如果其他人想知道您需要部署在主节点上,并且集群中至少有一个工作人员。
所以我得到这个错误:
我正在使用我自己的 CA(非自签名)并且我修改了 components.yml 文件(示例):
我知道我可以通过使用--kubelet-insecure-tls
我已经尝试过的这个标志来禁用 tls。我想使用我自己的 CA 来提高安全性。
我看到了其他许多相关问题(样本很少),例如:
x509 证书由未知机构签署 - Kubernetes和kubectl 无法连接到服务器:x509:证书由未知机构签署
虽然我已经应用了 chown 我$HOME/.kube/config
仍然看到这个错误。
我哪里错了?
更新:在工作人员上,我正在创建一个目录,例如/tmp/ca
,我在目录中添加了 ca 文件。
我对安装点还不是很好,我认为我做错了什么。图像的默认语法可以在这里找到kubernetes-sigs/metrics-server/v0.3.7(参见 components.yml 文件)。
我试图在我的工作人员上创建一个目录,例如 /tmp/ca 我修改了标志--cert-dir=/tmp/ca
和mountPath: /tmp/ca
当我部署文件时,例如:
我不断收到来自 metrics-server-xxxx 的错误:
尽管我已授予对目录的完全访问权限,例如:
我不确定我哪里出错了。
如何配置以便有人可以使用非自签名证书?我可以看到大多数人都在使用我想避免的非 SSL。
图像中我的参数示例:
更新 2:将 curl 命令从 Master 添加到 Worker,包括错误输出:
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 的云操作:系统和工作负载日志记录和监控
kubernetes - 水平 pod 自动缩放器无法在 minikube 部署中获取指标
这是一个未解决的问题:https ://github.com/kubernetes/minikube/issues/9370
重现步骤:
$ 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
$ minikube add-ons enable metrics-server
.yaml
使用资源请求和限制创建:
$ 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 版本:
kubernetes - Kubernetes 指标服务器不提供所有指标或扩展 HPA
按照此处的示例https://kubernetes.io/docs/tasks/run-application/horizontal -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 的日志
kubernetes - Kubernetes 指标服务器未运行
我已经使用https://github.com/kubernetes-sigs/metrics-server#installation在 VirtualBox 上的本地 k8s 集群上安装了指标服务器
但是指标服务器 pod 在
来自 pod 的事件描述
使用kubectl logs deployment/metrics-server -n kube-system的指标部署日志如下
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”,并且仅在此类资源不存在时才安装依赖关系图。
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 提供服务,然后问题得到解决,一切都恢复正常。
我的问题是,这是度量服务器的预期行为吗?还是我应该再次检查我的配置?
非常感谢。
kubernetes - 如何在 kubernetes 集群外将 metrics-server 抓取到 prometheus
我已经安装了 kubernetes metrics-server https://github.com/kubernetes-sigs/metrics-server它工作正常,我可以使用“kubectl top pods”和“kubectl top nodes”,现在我想将指标刮到prometheus在Grafana上显示的kubernetes集群之外,我尝试过的是
- 使用 NodePort 公开 metrics-server 服务但不工作,出现一些 https 问题
- 从https://github.com/ghouscht/metrics-server-exporter/安装 metrics-server-exporter (这个只刮了几个指标,我在 grafana 上看不到)和https://github.com/grupozap/metrics -server-exporter/(这个不是 http 应用程序,所以我不能公开为 NodePort 服务)
我应该怎么办?