首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何有效地监测库伯奈特舱的HPA统计量

如何有效地监测库伯奈特舱的HPA统计量
EN

Stack Overflow用户
提问于 2022-11-30 22:41:47
回答 2查看 79关注 0票数 1

目前,我们有一套托管在kubernetes集群上的微服务。我们正在根据粗略的估计来设置hpa值。我计划使用grafana来监视水平的pod自动标度行为,以确保我们不会过多地分配CPU/内存等资源,并提出可能的成本优化建议。需要关于如何实现这一点的指导。

我对库伯奈特的世界很陌生。需要关于如何实现这一点的指导。

EN

回答 2

Stack Overflow用户

发布于 2022-12-01 08:52:45

tl;博士

  1. 监控每个豆荚的资源消耗。
  2. 监控荚的重新启动和复制的数量。
  3. 使用负载测试。

存储器

作为一个起点,您可以监视每个吊舱的CPU和内存消耗。例如,您可以这样做:

代码语言:javascript
复制
sum by (pod) (container_memory_usage_bytes{container=...}/
sum by (pod) (kube_pod_container_resource_requests{container=...})

如果您遵循设置Kubernetes请求和限制的实用指南中提供的建议,则限制设置与请求设置相关。对于这样的查询,您可以分析,如果每个荚请求的内存是大致真实的。根据自动分频器的配置,这可能会有所帮助。您可以定义一些grafana警报规则,如果使用内存和请求内存之间的期望比率超过了某个阈值,就会触发警报。

重启

如果吊舱超过给定的内存限制,吊舱将崩溃,库伯内特斯将触发重新启动。使用以下指标,您可以监视重新启动:

代码语言:javascript
复制
sum by (pod) (increase(kube_pod_container_status_restarts_total{...}[1h]))

CPU

CPU的使用也是相关的:

代码语言:javascript
复制
process_cpu_usage{container="..."}

对于其他查询,请查看Prometheus查询以获得kubernetes吊舱中CPU和内存的使用情况

复制品

现在,既然您有了基本的度量标准,那么自动分词器本身呢?您将能够计算这样的活动荚数:

代码语言:javascript
复制
kube_horizontalpodautoscaler_status_current_replicas{}

请注意,您可能需要通过标签horizontalpodautoscaler筛选此度量。但是,我建议您首先在没有过滤器的情况下运行度量,以获取有关所有运行的自动计算器的信息。

为了更好地控制成本,自动标度通常被限制在最大的副本。如果以最大的速度运行,则可能需要检查给定的最大值是否低。使用kubectl,您可以这样检查状态:

代码语言:javascript
复制
kubectl describe hpa

看看条件ScalingLimited

与地堑:

代码语言:javascript
复制
kube_horizontalpodautoscaler_status_condition{condition="ScalingLimited"}

kube状态度量上可以找到kubernetes度量的列表。看看卧式Pod自动分频器计量器ReplicationController度量

使用负载测试

HorizontalPodAutoscaler漫游中,需要增加应用程序的负载。您可以为此使用几个工具,例如Apache或JMeter。

在我的经验中,升级是很容易实现的,棘手的部分是降级。因此,您需要增加和减少负载。

票数 1
EN

Stack Overflow用户

发布于 2022-12-01 12:41:12

水平缩放允许您根据设置的度量标准来缩放豆荚的数量。Kubernetes提供水平Pod自动分配器(HPA)服务,使您能够缩放豆荚,horizontally.Scaling是基于目标值的。例如,您可以创建有关CPU利用率的度量标准,并在CPU使用率为busy.Horizontal的情况下开发更多的pods来分配负载,自动标度是基于规则,即在某个资源达到上限或下限时启动或停止分配给它们的实例。这也有助于您优化成本。

开源Kubecost工具通过使用Kubernetes概念度量详细的使用情况,并将粒度使用数据与云提供商的计费信息或从open环境中的成本估计相关联来解决这个问题。

尽管HPA非常强大,但它确实需要大量的、持续不断的调优才能实现它的好处。为此,我们使用Grafana仪表板作为查看HPA活动的一种方便方式,该方法特定于特定的pod或环境。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74635000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档