问题标签 [kubernetes-metrics]

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 投票
4 回答
14067 浏览

docker - Kubernetes:kubectl 顶级节点/pod 不工作

当我这样做kubectl top pods/nodes时,我收到以下错误:

指标尚不可用

当我检查我得到的日志时

此外,我可以从以下位置 ping 到 hpa-test 节点:

另外,我尝试到处寻找解决方案,但没有解决问题

0 投票
1 回答
214 浏览

kubernetes - Pod 上 Kubernetes 资源内存的不同单位

我的问题与 Kubernetes 和用于 HPA(自动缩放)的度量单位有关。

当我运行命令时

kubectl describe hpa my-autoscaler

我得到(更多信息的一部分)这个:

在这个例子中,当你在 pods 上看到资源内存current的指标时,你可以看到value的单位m是“millis”(官方文档中有描述),但是targetvalue使用的单位是Mi,即“梅比斯”

使用不同的单位有什么问题吗?

谢谢!

0 投票
1 回答
160 浏览

azure - 如何使 azure external.metrics.k8s 适配器工作?

我已经按照本文档“ https://github.com/Azure/azure-k8s-metrics-adapter/tree/master/samples/servicebus-queue ”设置了 Azure 外部指标适配器

在执行命令时使用 service-principal 安装 helm 后,kubectl get --raw "/apis/external.metrics.k8s.io/v1beta1" | jq我应该得到文档建议的输出。但相反,我面临一个错误说明Error from server (ServiceUnavailable): the server is currently unable to handle the request

helm 安装成功,以下是日志

I0116 12:49:36.216094 1 controller.go:40] 设置外部指标事件处理程序 I0116 12:49:36.216148 1 controller.go:52] 设置自定义指标事件处理程序 I0116 12:49:36.216528 1 controller.go:69 ] 初始化控制器 I0116 12:49:36.353905 1 main.go:104] 通过实例元数据查找订阅 ID I0116 12:49:36.359887 1 instancemetadata.go:40] 连接到子:********** *********** I0116 12:49:36.416858 1 controller.go:77] 以 1000000000 间隔启动 2 个工人 I0116 12:49:36.417062 1 controller.go:88] 工人开始 I0116 12:49: 36.417068 1 controller.go:88] 工人开始 I0116 12:49:36.417074 1 controller.go:98] 处理项目 I0116 12:49:36.417078 1 controller.go:98] 处理项目 I0116 12:49:36.680065 1 serving.go :312] 生成的自签名证书 (apiserver.local.config/certificates/apiserver.crt, apiserver.local.config/certificates/apiserver.key) I0116 12:49:37.197936 1 secure_serving.go:116] 在 [::]:6443 上安全服务

当我执行命令时kubectl api-versions external.metrics.k8s.io/v1beta1显示在列表中。这样就证明安装成功了。但是为什么我无法访问 api ???

0 投票
0 回答
384 浏览

logging - 将 Kubernetes 元数据添加到自定义 FluentD 非 DaemonSet @tail 事件

我有一个将 Fluentd 作为 sidecar 运行的 pod,它从另一个容器(示例应用程序)收集日志,并且公共卷已安装在两个容器(volumeMounts)上。

示例应用程序代码将 UTC 时间戳写入文件

/var/log/1.log 的尾部输出,

FluentD 配置:

上面的配置对我很有效,我可以在 fluentD@tail插件的尾部事件中可视化Kibana,但我还想实现将基本的 kubernetes 元数据添加到尾部事件中,例如namespace_name,pod_namecontainer_name. 我已将kubernetes_metadata插件配置为,

我确实浏览了一些博客,了解到可以从容器日志文件中过滤和添加 kubernetes 元数据,但我没有将 fluentD 作为 DaemonSet 运行。我打算将它作为 sidecar 运行,并使用@tail插件收集应用程序日志文件并将基本的 kubernetes 元数据添加到事件中。

可以kubernetes_metadata利用过滤器来实现这一点吗?

0 投票
2 回答
5435 浏览

java - kubernetes pod 内存 - java gc 日志

在 kubernetes 仪表板上,有一个 pod,其中内存使用情况(字节)显示为904.38Mi.

此 pod 包含使用-Xms512m -Xmx1024m, 和 kubernetes 部署文件 -> requests.memory = 512M,运行的 java 应用程序limits.memory = 1.5G

我启用了 gc 日志并在 pod 日志中看到了这些:

Kubernetes 是如何开始904.38Mi使用的?如果我理解正确,目前的用法只有:

运行ps显示除了这个 java 应用程序之外,pod 上没有其他进程在运行。
任何人都可以对此有所了解吗?

(已编辑)pod刚启动运行几分钟,内存使用显示为500mb左右,然后让请求进来,它会爆发到900mb-1gb,然后当所有处理完毕后,内存使用k8s 仪表板不会低于 900mb,即使基于 GC 日志,堆是 GC'ed ok。

0 投票
1 回答
2596 浏览

prometheus - 有没有什么方法可以使用 prometheus 指标根据 CPU 内核来表示 POD CPU 使用率

我只想表示 POD 的 CPU 指标如下

在此处输入图像描述

我能够用 CPU 核心来表示 CPU 请求和限制,这些核心可以通过 prometheus 抓取指标直接获得。

但是在普罗米修斯中,我看不到任何直接指标来获取 POD 使用的 CPU 内核,所以,有人可以给我一个解决方法或一种方法来表示 POD 的 CPU 使用率,以 CPU 内核的形式。

提前致谢

0 投票
3 回答
11210 浏览

kubernetes - 指标服务器不工作:无法处理请求(获取 nodes.metrics.k8s.io)

我正在运行命令kubectl top nodes并收到错误:

Metric Server pod 使用以下参数运行:

我得到的大部分答案是上述参数,仍然出现错误

我已经使用以下方式部署了度量服务器:

我错过了什么?使用 Calico 进行 Pod 网络

在 FAQ 下的 metric server 的 github 页面上:

会不会是这个原因。有人可以向我解释一下吗。

我已经使用以下方法设置了 Calico:kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml

我的节点 IP 是:192.168.56.30 / 192.168.56.31 / 192.168.56.32

我使用 --pod-network-cidr=20.96.0.0/12 启动了集群。所以我的 pod ip 是 20.96.205.192 等等。

也在 apiserver 日志中得到这个

其中 10.100.152.145 是服务/metrics-server(ClusterIP) 的 IP

令人惊讶的是,它可以在另一个节点 Ip 在 172.16.0.0 范围内的集群上运行。休息一切都一样。使用 kudeadm、Calico、相同的 pod cidr 进行设置

0 投票
1 回答
2256 浏览

kubernetes - Kubernetes 指标“/metrics/resource/v1alpha1”和“/metrics/cadvisor”端点之间的区别

我正在使用 Prometheus(prometheus-operator Helm 图表)进行内存监控。在调查值时,我注意到内存使用量 ( container_memory_working_set_bytes ) 是从两个端点抓取的:

  • /metrics/cadvisor
  • /metrics/resource/v1alpha1/metrics/resource来自 Kubernetes 1.18)

我已经想出了如何禁用图表中的一个端点,但我想了解两者的目的。
我知道/metrics/cadvisor返回三个值 - pod 的容器(如果 pod 有多个容器,则返回更多)、一些特殊容器POD(运行 POD 服务是否需要一些内部内存使用?)和所有容器的总和(然后结果有空标签container="")。
另一方面,/metrics/resource/v1alpha1仅返回 pod 容器的内存使用情况(没有container="POD"和没有这些的总和container=""

那么是否/metrics/resource/v1alpha1计划将其替换/metrics/cadvisor为单一的指标来源?看到两个端点(默认情况下都在 中启用prometheus-operator)返回相同的指标,任何sum()查询都可以返回与实际内存使用量一样大的值 2。

感谢对此主题的任何澄清!

0 投票
1 回答
646 浏览

kubernetes - metrics-server pod 应该在主节点还是工作节点上运行?

我是 k8s 的新手,我正在尝试在主节点上部署仪表板,部分部署是启动指标服务器。完整的文档可以在这里找到(dashboard / metrics-server)。

我的问题与部署后我们可以立即看到的警告有关:

在阅读了其他问题之后,例如Node 在部署到 Kubernetes 集群时有 pod 不能容忍错误,并且1 个节点有 pod 在 kubernetes 集群中不能容忍的 taints,我可以理解为什么会出现这个问题,但我是困惑于我们是否应该在图像上添加我们自己的这种关系,例如(https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.3.7):

如果主节点应该能够收集他自己的指标,这个参数不应该默认添加吗?如果不是,那么我们应该在所有工作人员上部署 UI(这没有任何意义)。

也许在这方面有更多经验的人可以分享一些启示?

0 投票
2 回答
3019 浏览

kubernetes - 访问 kubernetes 仪表板时出现错误尝试访问服务:'dial tcp 10.44.0.2:8443: connect: connection denied'

我用 kubernetes 艰难的方式使用 kubernetes 1.18.6 成功部署了一个集群

我使用了 vmware 和 kubernetes 1.18.6。我部署了 metric-server 和 kubernets 仪表板

我使用这个命令 --> kubectl proxy --address='0.0.0.0' --port=8001 --accept-hosts='^*$' 来启动 kuberenetes 仪表板

然后我使用下面的 url 从我的主节点访问 kubernes 仪表板

但是我的浏览器出现以下错误

但是我可以使用 url https://10.44.0.2:8443/在我的工作节点上访问 kubernetes 仪表板而不会出现任何问题

我错过了什么?

为什么我无法正常访问 kubernetes 仪表板?

我使用 kubeadm 工具创建了另一个集群,并且可以访问集群外部的 kubernetes 仪表板。

我已经配置了 weave 和 coredns,我没有看到任何错误。我做了烟雾测试,一切正常。我什至部署了 wordpress,它也能正常工作。

我所有的配置都在https://github.com/godomainz/kubernetes-the-hard-way.git feature/Feature-1.18.6分支中

来宾操作系统:Ubuntu 18.04
使用的集群环境:VMWare 工作站
主机 PC:Windowd 10 Pro(i7 处理器,64GB Ram)
每个 VM 有 15GB RAM,使用 8 核
Kubernetes 版本:1.18.6