问题标签 [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.
docker - Kubernetes:kubectl 顶级节点/pod 不工作
当我这样做kubectl top pods/nodes
时,我收到以下错误:
指标尚不可用
当我检查我得到的日志时
此外,我可以从以下位置 ping 到 hpa-test 节点:
另外,我尝试到处寻找解决方案,但没有解决问题
kubernetes - Pod 上 Kubernetes 资源内存的不同单位
我的问题与 Kubernetes 和用于 HPA(自动缩放)的度量单位有关。
当我运行命令时
kubectl describe hpa my-autoscaler
我得到(更多信息的一部分)这个:
在这个例子中,当你在 pods 上看到资源内存current
的指标时,你可以看到value的单位m
是“millis”(官方文档中有描述),但是target
value使用的单位是Mi
,即“梅比斯”
使用不同的单位有什么问题吗?
谢谢!
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 ???
logging - 将 Kubernetes 元数据添加到自定义 FluentD 非 DaemonSet @tail 事件
我有一个将 Fluentd 作为 sidecar 运行的 pod,它从另一个容器(示例应用程序)收集日志,并且公共卷已安装在两个容器(volumeMounts)上。
示例应用程序代码将 UTC 时间戳写入文件
/var/log/1.log 的尾部输出,
FluentD 配置:
上面的配置对我很有效,我可以在 fluentD@tail
插件的尾部事件中可视化Kibana
,但我还想实现将基本的 kubernetes 元数据添加到尾部事件中,例如namespace_name
,pod_name
和container_name
. 我已将kubernetes_metadata
插件配置为,
我确实浏览了一些博客,了解到可以从容器日志文件中过滤和添加 kubernetes 元数据,但我没有将 fluentD 作为 DaemonSet 运行。我打算将它作为 sidecar 运行,并使用@tail
插件收集应用程序日志文件并将基本的 kubernetes 元数据添加到事件中。
可以kubernetes_metadata
利用过滤器来实现这一点吗?
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。
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 进行设置
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。
感谢对此主题的任何澄清!
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(这没有任何意义)。
也许在这方面有更多经验的人可以分享一些启示?
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