K8s metric server - pod遥测更新频率太高

     2023-03-17     213

关键词:

【中文标题】K8s metric server - pod遥测更新频率太高【英文标题】:K8s metric server - pod telemetry update frequency too high 【发布时间】:2021-06-25 19:22:29 【问题描述】:

我的设置

我有一个物理节点 K8s 集群,我在其中污染了主节点,因此它也可以充当工作人员。该节点具有 Centos7,总共 512 GB 内存。我将我的实验限制在一个节点集群;一旦找到解决方案,我将在我的小型 k8s 集群上对其进行测试,其中 master 和 worker 服务位于不同的节点上。

我要做什么

我想监控 pod 级别的资源利用率(CPU 和内存)。我正在启动一个以 1GBPS 的速率消耗内存的 pod;在大约 100 秒内,内存利用率达到 100GB,此时应用程序达到稳定状态。从那时起,它会一直运行直到被触发器杀死。

我现在在哪里

启动 k8s 度量服务器后;我能够做到kubectl top pods,它显示每个 pod CPU 和内存利用率。然而,这些利用率数字不会经常更新。我试图测量 k8s 更新这些遥测数据需要多长时间,采样间隔似乎接近 1 分钟或 60 秒。

我厌倦了查看 https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/ 以找出各种采样间隔。有一些参数可能会影响遥测采样率;但它们最多设置为~20s(默认值)。我没有更改任何 Kubelet 设置。

我的问题

为什么kubectl top pods 需要大约一分钟来更新资源利用率数字。?如何缩短此间隔并进行频繁更新。

【问题讨论】:

【参考方案1】:

为什么kubectl top pods 需要大约一分钟来更新资源利用率数字?

这是因为metric server的默认分辨率设置为60s。

如何缩短此间隔并频繁更新?

您可以使用--metric-resolution=<duration> 标志更改分辨率。 但是不建议设置低于 15s 的值,因为这是 Kubelet 计算的指标分辨率。

spec:  
  containers:  
  - command:  
    - /metrics-server  
    - --metric-resolution=15s

参考:How ofter metrics are scraped

【讨论】:

解决二进制k8s布署的metrics-server查看集群资源报错权限问题(代码片段)

...topnodes及kubectltoppods均报错:Errorfromserver(Forbidden):nodes.metrics.k8s.ioisforbidden:User"kubernetes"cannotlistresource"nodes"inAPIgroup"metrics.k8s.io"attheclusterscopeErrorfromserver(Forbidden):pods.metrics.k8s.ioisforbidden:User"kubernetes"cannotlis... 查看详情

k8s资源监控metrics-server(代码片段)

...ster的资源监控工具。但是从Kubernetes1.8开始,Kubernetes通过MetricsAPI获取资源使用指标,例如容器CPU和内存使用情况。这些度量指标可以由用户直接访问,例如通过使用kubectltop命令,或者使用集群中的控制器。MetricsAPI:通过MetricsAPI... 查看详情

k8sk8s部署metrics-server服务(代码片段)

写在前面在新版的K8S中,系统资源的采集均使用Metrics-Server服务,可以通过Metrics-Server服务采集节点和Pod的内存、磁盘、CPU和网络的使用率等信息。读者可参考《【K8S】基于单Master节点安装K8S集群》一文搭建单Master节点的K8S集群... 查看详情

prometheus 中 kube_metrics_server_pods_cpu 指标的单位

】prometheus中kube_metrics_server_pods_cpu指标的单位【英文标题】:unitsforkube_metrics_server_pods_cpumetricinprometheus【发布时间】:2021-11-1415:22:32【问题描述】:如果我们使用prometheus监控EKS集群,任何人都可以指导那么默认情况下,度量标准... 查看详情

k8s安装之kube-state-metrics.yaml(代码片段)

概述已经有了cadvisor、heapster、metric-server,几乎容器运行的所有指标都能拿到,但是下面这种情况却无能为力:我调度了多少个replicas?现在可用的有几个?多少个Pod是running/stopped/terminated状态?Pod重启了多少次?我有多少job在运... 查看详情

k8s的pod控制器详解(代码片段)

...雀发布删除DeploymentHorizontalPodAutoscaler(HPA)安装metrics-server(v0.3.6)安装metrics-server(v0.4.1)准备Deployment和Service部署HPA测试DaemonSet(DS)创建DaemonSet查看DaemonSet删除DaemonSetJob创建Job查看Job删除JobCronJo... 查看详情

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

】metrics-server在部署期间没有已知pod错误的指标【英文标题】:metrics-servernometricsknownforpoderrorduringdeployment【发布时间】:2021-03-0811:12:49【问题描述】:我有一个新创建的AWSEKS1.18集群,上面部署了应用程序,一切正常,测试和负... 查看详情

k8s集群监控(代码片段)

部署metricskubernetes早期版本依靠Heapster来实现完整的性能数据采集和监控功能,k8s在1.8版本开始,性能数据开始以MetricsAPI的方式提供标准化接口,并且从1.10版本开始讲Heapster替换为MetricsServer,在新版本的Metrics当中可以对Node,Pod... 查看详情

prometheus(未写完)

...us数据的格式)新一代架构:核心指标流水线:由kubelet、metrics-server以及由APIserver提供的api组成;CPU累积使用率、内存实时使用率、Pod的资源占用率及容器的磁盘占用率;监控流水线:用于从系统收集各种指标数据并提供终端用... 查看详情

k8s容器资源限制,资源监控(代码片段)

...space设置资源配额5.Namespace配置Pod配额二.kubernetes资源监控Metrics-Server部署三种报错及解决方法一.k8s容器资源限制Kubernetes采用request和limit两种限制类型来 查看详情

k8s容器资源限制,资源监控(代码片段)

...space设置资源配额5.Namespace配置Pod配额二.kubernetes资源监控Metrics-Server部署三种报错及解决方法一.k8s容器资源限制Kubernetes采用request和limit两种限制类型来 查看详情

k8s metric server api结果中的“窗口”是啥意思

】k8smetricserverapi结果中的“窗口”是啥意思【英文标题】:whatisthemeaningof\'window\'inresultsfromk8smetricserverapik8smetricserverapi结果中的“窗口”是什么意思【发布时间】:2021-09-0221:57:05【问题描述】:当我在cli上键入此命令时:kubectlget... 查看详情

metrics-server(代码片段)

[root@hs-k8s-master01k8s]#pwd/data/k8s[root@hs-k8s-master01k8s]#cdmetrics/[root@hs-k8s-master01metrics]#ls[root@hs-k8s-master01metrics]#gitclonehttps://github.com/kubernetes-incubator/metrics-server.git[root@hs-k8s-master01metrics]#lsmetrics-server[root@hs-k8s-master01metrics]#cdmetrics-server/cmd/d... 查看详情

k8s基础学习--metrics和hespster监控部署

最近在K8S上部署监控工具Heapster和Metrics遇到一些问题。pod启动之后显示:[[email protected]~]#kubectltopnodeErrorfromserver(ServiceUnavailable):theserveriscurrentlyunabletohandletherequest(getnodes.metrics.k8s.io)通常这种情况都是网络原因导致的问题。当... 查看详情

kubernetes(k8s)之资源监控(代码片段)

资源监控Metrics-ServerMetrics-Server演示环境Metrics-Server部署Metrics-ServerMetrics-Server是集群核心监控数据的聚合器,用来替换之前的heapster。容器相关的Metrics主要来自于kubelet内置的cAdvisor服务,有了Metrics-Server之后,用户就可... 查看详情

千分尺暴露执行器指标 vs kube-state-metrics vs metrics-server 以设置 pod 请求/限制

】千分尺暴露执行器指标vskube-state-metricsvsmetrics-server以设置pod请求/限制【英文标题】:micrometerexposingactuatormetricsvskube-state-metricsvsmetrics-servertosetpodrequest/limits【发布时间】:2021-01-3000:59:56【问题描述】:微米暴露执行器指标以在K... 查看详情

解决二进制k8s布署的metrics-server查看集群资源报错权限问题(代码片段)

布署完metircs-server后,查看已成功注册apiservices:使用kubectltopnodes及kubectltoppods均报错:Errorfromserver(Forbidden):nodes.metrics.k8s.ioisforbidden:User"kubernetes"cannotlistresource" 查看详情

k8s.gcr.io/metrics-server-arm64:v0.3.6 是可用于 arm64 部署的最新映像吗? [关闭]

】k8s.gcr.io/metrics-server-arm64:v0.3.6是可用于arm64部署的最新映像吗?[关闭]【英文标题】:Isk8s.gcr.io/metrics-server-arm64:v0.3.6thelatestimageavailableforarm64deployments?[closed]【发布时间】:2021-11-1307:12:26【问题描述】:检查metrics-serverGithubrepo中... 查看详情