首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kubernetes HPA缩容时杀随机pod |总之避免杀随机pod而选择利用率低的pod

Kubernetes HPA(Horizontal Pod Autoscaler)是Kubernetes中的一个自动扩缩容机制,用于根据应用程序的负载情况自动调整Pod的数量。当负载下降时,HPA会自动缩容Pod的数量,以节省资源并提高效率。

在缩容时,HPA会选择利用率低的Pod进行缩容,而不是随机选择Pod。这是因为利用率低的Pod表示其资源使用较少,可以被安全地缩减而不会对应用程序的性能产生负面影响。

缩容时杀随机Pod可能会导致一些问题,例如可能会杀掉正在处理重要任务的Pod,从而影响应用程序的可用性和性能。因此,选择利用率低的Pod进行缩容是更为合理和安全的做法。

Kubernetes提供了多种方式来实现HPA,例如使用Metrics Server来收集应用程序的指标数据,并根据指标数据进行自动扩缩容。在腾讯云的产品中,可以使用腾讯云容器服务(Tencent Kubernetes Engine,TKE)来部署和管理Kubernetes集群,并通过TKE的HPA功能来实现自动扩缩容。

腾讯云容器服务(TKE)是腾讯云提供的一种托管式Kubernetes服务,它提供了高度可扩展、高可用性的Kubernetes集群,可以帮助用户快速构建和管理容器化应用。TKE的HPA功能可以根据自定义的指标数据进行自动扩缩容,并提供了丰富的监控和告警功能,以便及时发现和解决问题。

了解更多关于腾讯云容器服务(TKE)的信息,请访问:腾讯云容器服务(TKE)产品介绍

总之,为了避免杀随机Pod而选择利用率低的Pod进行缩容是一种更为合理和安全的做法。Kubernetes HPA可以帮助自动实现这一功能,并且腾讯云容器服务(TKE)是一个可靠的选择来部署和管理Kubernetes集群,并使用HPA功能来实现自动扩缩容。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

成本最高降低70%,腾讯大规模业务集群的云原生成本优化实践!

如扩容的一个触发因子是 CPU 利用率,如果扩容是基于 Request 计算使用率,当使用率大于125%时阈值时再触发扩容。...根据自身业务需求,各机型优缺点,选择最具性价比的机型。 行业现状与方案选型 从我们成本数据分析中我们得到的结论核心优化大杀器是 VPA 和 HPA。那么业界当前有哪些VPA、HPA方案呢?...HPA HPA 是 Kubernetes 项目内置的水平扩缩容开源项目,它会基于 HPA 资源中业务声明的各种 Metrics 指标和扩缩容条件,周期性计算副本数,判定是否需要扩缩容,它的架构图如下:...(比如扩容稳定窗口为180秒、缩容随机为12-24h、扩容 CPU/Memory 阈值为90、缩容为30%、HPA最小最大副本数等)。...动态调度器可以帮助我们避免新 Pod 调度到较高负载的节点,而 Descheduler 则可以协助我们将高负载节点 Workload 打散,下线低负载节点上的 Pod 等。

2.9K10

成本最高降低70%,腾讯大规模业务集群的云原生成本优化实践!

如扩容的一个触发因子是 CPU 利用率,如果扩容是基于 Request 计算使用率,当使用率大于125%时阈值时再触发扩容。...根据自身业务需求,各机型优缺点,选择最具性价比的机型。 行业现状与方案选型 从我们成本数据分析中我们得到的结论核心优化大杀器是 VPA 和 HPA。那么业界当前有哪些VPA、HPA方案呢?...(二)HPA HPA 是 Kubernetes 项目内置的水平扩缩容开源项目,它会基于 HPA 资源中业务声明的各种 Metrics 指标和扩缩容条件,周期性计算副本数,判定是否需要扩缩容,它的架构图如下...(比如扩容稳定窗口为180秒、缩容随机为12-24h、扩容 CPU/Memory 阈值为90、缩容为30%、HPA最小最大副本数等)。...动态调度器可以帮助我们避免新 Pod 调度到较高负载的节点,而 Descheduler 则可以协助我们将高负载节点 Workload 打散,下线低负载节点上的 Pod 等。

1.4K20
  • Kubernetes的垂直和水平扩缩容的性能评估

    为了帮助选择最佳策略,本文主要对比了kubernetes中的水平和垂直扩缩容。...通过以上例子,可以看到HPA会将副本数翻倍,而不是每次仅创建一个副本,这种方式使得HPA非常精准。 HPA有一个默认的延迟(5分钟),在负载降低时进行缩容。...该时间仅在利用率低于定义的利用率限制时才会开始计算。 Vertical Pod Autoscaler 垂直扩缩容的目的是增加或降低现有Pods分配的资源(CPU或内存)。...图2:水平扩缩容中每个Pod request的CPU 大部分情况下,HPA都能对工作负载的变化作出有效的反应(尽管请求的 CPU 略高于所需的 CPU)。当负载上升时,其平均扩容决策时间为40秒。...只有在所有场景的第3阶段,以及在场景1的第4和第5阶段中,CPU停留在所需值以下的时间持续了大约1分钟。 HPA能够在5分钟的延迟后进行缩容,而VPA则不会缩容。

    1.7K40

    Kubernetes自动伸缩机制,为你降本增效

    1.Pod水平自动扩缩(HPA) Pod 水平自动扩缩(HorizontalpodAutoscaler) 可以基于CPU利用率自动扩缩 ReplicationController、Deployment、...例如,如果你部署的目标CPU利用率为50%,而现在你有五个pod在那里运行,则平均CPU利用率为 75%。为了使pod平均值更接近你的目标,HPA 控制器将增加三个副本。...Pod垂直自动扩缩 (VPA) Vertical Pod Autoscaler(VPA),即垂直 Pod 自动扩缩容,它根据容器资源使用率自动设置 CPU 和 内存 的requests,从而允许在节点上进行适当的调度...VPA 最佳实践 避免在Kubernetes的1.11版本之前使用。 使用updateMode:Off运行 VPA,以了解你要自动缩放的pod的资源使用情况。...集群自动扩缩器最佳实践 部署 Cluster Autoscaler 时,要与之相匹配的Kubernetes版本一起使用。(兼容性列表)。

    1.3K20

    kubernetes 降本增效标准指南|理解弹性,应用弹性

    计算利用率时,可以设置 Daemonset 类型不计入 Pod 占用资源。 CA 判断集群的状态是否可以触发缩容,需要满足如下要求: 节点空闲时长要求(默认10分钟)。...腾讯云原生团队提出了容器化资源利用率成熟度模型中的 level2 就是业务利用容器和云的弹性伸缩能力,结合 Kubernetes 的 HPA、VPA、CA 等能力,高峰扩容、空闲缩容,极大提高资源利用率...时间窗口的设置,当前 HPA 控制器中针对扩容和缩容分别有一个时间窗口,即在该窗口内会尽量保证 HPA 扩缩容的目标副本数处于稳定的状态,其中扩容是3分钟,而缩容是5分钟。...其它问题 弹性维度 当前 HPA 监控的是 Pod 的指标,但是有些 Pod 里存在多个容器,主业务容器高负载的情况下,如果此时 sidecar 容器低负载,并且此 Pod 下所有容器的平均资源利用率低于引发扩容的阈值时...驱逐选择 一个 Pod 资源利用率很低,若它的资源被弹性收缩后,资源被别的负载侵占,此时如果这个 Pod 负载突然变高,但节点又没有剩余可用资源,是该驱逐该 Pod 还是驱逐别的 Pod?

    3.2K63

    腾讯会议大规模使用Kubernetes的技术实践

    腾讯会议,一款提供灵活协作的线上会议解决方案。其中大量的模块是有状态服务,在使用Kubernetes为其进行容器化部署时,Pod升级需保持共享内存、长连接服务。...大规模和高性能的弹性伸缩 在扩缩容方面,这里主要介绍纵向扩缩容和横向扩缩容做的工作。...[mk2yq0akft.png] 我们自研了Vertical Workload AutoScaler (VWA) CRD用于Pod的垂直扩缩容,主要解决的问题是: 当业务出现突发流量的时候,HPA扩容不及时...这里面核心的特性,包括提供原地升级容器规格的能力,而不需要重建Container,性能上做了优化,单集群能支持上千个VWA对象的扩缩容。...同时也支持VWA的个性化配置,比如可以配置每一个VWA对象的循环同步周期,每次扩容的最大比例以及缩容的最大比例等。 最后再介绍一下在HPA方面我们做的工作。

    3.3K138111

    Kubernetes 微服务最佳实践

    HPA 的扩缩容算法 HPA 什么时候会扩容,这一点是很好理解的。但是 HPA 的缩容策略,会有些迷惑,下面简单分析下。 HPA 的「目标指标」可以使用两种形式:绝对度量指标和资源利用率。...绝对度量指标:比如 CPU,就是指 CPU 的使用量 资源利用率(资源使用量/资源请求 * 100%):在 Pod 设置了资源请求时,可以使用资源利用率进行 Pod 伸缩 HPA 的「当前指标」是一段时间内所有...HPA 扩缩容过于敏感,导致 Pod 数量震荡 通常来讲,K8s 上绝大部分负载都应该选择使用 CPU 进行扩缩容。...对这类服务而言,HPA 有这几种调整策略: 选择使用 QPS 等相对比较平滑,没有 GC 这类干扰的指标来进行扩缩容,这需要借助 KEDA 等社区组件。...对 kubernetes 1.18+,可以直接使用 HPA 的 behavior.scaleDown 和 behavior.scaleUp 两个参数,控制每次扩缩容的最多 pod 数量或者比例。

    1.1K30

    Kubernetes 服务部署最佳实践(一) 如何合理利用资源

    节点资源不足时,会触发自动驱逐,将一些低优先级的 Pod 删除掉以释放资源让节点自愈。...弹性伸缩 如何支持流量突发型业务 通常业务都会有高峰和低谷,为了更合理的利用资源,我们为服务定义 HPA,实现根据 Pod 的资源实际使用情况来对服务进行自动扩缩容,在业务高峰时自动扩容 Pod 数量来支撑服务...,在业务低谷时,自动缩容 Pod 释放资源,以供其它服务使用(比如在夜间,线上业务低峰,自动缩容释放资源以供大数据之类的离线任务运行) 。...早期 HPA 用 resource metrics 获取指标数据,后来推出 custom metrics,可以实现更灵活的指标来控制扩缩容。...target: averageValue: "100" type: AverageValue 如何节约成本 HPA 能实现 Pod 水平扩缩容,但如果节点资源不够用了

    1.7K1918

    【K8s】Kubernetes 稳定性之自动扩缩容

    如果您有其他想要了解的,欢迎私信联系我~ 基本介绍 在 Kubernetes 中,自动扩缩容是一种动态调整集群资源,以灵活应对应用程序资源需求变化的机制。...自动扩缩容可以分为两个层面: Node 层面:根据业务规模,实现集群节点的自动扩缩容 Pod 层面:根据业务规模,实现 Pod 副本的自动扩缩容 自动扩缩容提供了以下好处: 提高资源利用率:根据实际需求动态调整资源...Pod 层面自动扩缩容机制。...HPA 机制 Pod 水平自动伸缩(Horizontal Pod Autoscaler,HPA)是 Kubernetes 中最常见的自动扩缩容方式,它可以根据 Pod 实际的负载情况自动增加或减少 Pod...HPA的工作原理如下: 度量指标:HPA 可以根据 CPU 利用率、内存利用率或其他自定义度量指标来触发扩缩容 目标利用率:设置目标利用率,例如 CPU 的 10%,HPA 会尝试维持这个利用率水平 限制

    29610

    Kubernetes 服务部署最佳实践(一)

    节点资源不足时,会触发自动驱逐,将一些低优先级的 Pod 删除掉以释放资源让节点自愈。...通常业务都会有高峰和低谷,为了更合理的利用资源,我们为服务定义 HPA,实现根据 Pod 的资源实际使用情况来对服务进行自动扩缩容,在业务高峰时自动扩容 Pod 数量来支撑服务,在业务低谷时,自动缩容...Pod 释放资源,以供其它服务使用(比如在夜间,线上业务低峰,自动缩容释放资源以供大数据之类的离线任务运行) 。...早期 HPA 用 resource metrics 获取指标数据,后来推出 custom metrics,可以实现更灵活的指标来控制扩缩容。...HPA 能实现 Pod 水平扩缩容,但如果节点资源不够用了,Pod 扩容出来还是会 Pending。

    1.1K31

    Kubernetes服务部署最佳实践|如何合理利用资源

    节点资源不足时,会触发自动驱逐,将一些低优先级的 Pod 删除掉以释放资源让节点自愈。...通常业务都会有高峰和低谷,为了更合理的利用资源,我们为服务定义 HPA,实现根据 Pod 的资源实际使用情况来对服务进行自动扩缩容,在业务高峰时自动扩容 Pod 数量来支撑服务,在业务低谷时,自动缩容...Pod 释放资源,以供其它服务使用(比如在夜间,线上业务低峰,自动缩容释放资源以供大数据之类的离线任务运行) 。...早期 HPA 用 resource metrics 获取指标数据,后来推出 custom metrics,可以实现更灵活的指标来控制扩缩容。...HPA 能实现 Pod 水平扩缩容,但如果节点资源不够用了,Pod 扩容出来还是会 Pending。

    1.3K10

    挖掘Kubernetes 弹性伸缩:水平 Pod 自动扩展的全部潜力

    如果某些容器缺少相关资源请求,则不会定义 CPU 利用率,并且该指标不会发生自动缩放。对于每个 Pod 自定义指标,控制器的操作类似,但使用原始值而不是利用率值。...4、HPA对应用控制器,发起扩缩容操作,以达到需要的副本数 HPA算法细节 Pod水平自动扩缩容控制器根据当前指标和期望指标来计算扩缩比例。...当使用 CPU 指标来扩缩时,任何还未就绪(例如还在初始化)状态的 Pod 或 最近的指标 度量值采集于就绪状态前的 Pod,该 Pod 也会被搁置。...如果任何一个指标无法顺利地计算出扩缩副本数(比如,通过 API 获取指标时出错), 并且可获取的指标建议缩容,那么本次扩缩会被跳过。...利用率一直为0,副本缩容至1 结论 在本文中,我们探讨了 Kubernetes Horizontal Pod Autoscaler (HPA) 对于有效管理应用程序的资源和可扩展性的重要性。

    91531

    kubernetes指南--弹性伸缩

    同样,在使用缩容来节省资源时,只有将负载低的服务缩容后,才能空闲出一批利用率较低的节点,此时节点弹性伸缩器检测到 某些节点利用率低,关闭这些节点,或是从云厂商取消续订这些节点,才能达到节省资源的最终目的...它可以在下列条件之一为真时自动调整Kubernetes集群的大小: 集群中有 pod 由于资源不足而一直 pending 集群中有些节点在很长一段时间内没有得到充分利用,且其上的 pod 可以被调度到其他节点上...主要的 group 并不进行扩缩容,来避免扩缩容导致对大范围的服务的影响。 此外,节点水平伸缩能否成功实施,与调度策略密切相关。...kubernetes 在为 pod 选择可分配节点时, 是采用 LeastRequestedPriority 策略,简单来说就是就是尽可能把资源打散,把 pod 分配到资源利用率低的节点。...这样会倒是有一批利用率较低,但未到缩容阈值的节点,因此会导致无法成功缩容,资源利用率低。因此实际使用时,需要 调整 kubernetes 调度策略,来达到最优的结果。

    3.2K40

    一文搞懂使用 KEDA 实现 Kubernetes 自动弹性伸缩

    指标选择和配置 同时,HPA 和 VPA 的 Autoscaling 依赖于指标的选择和配置。选择不合适的指标或错误地配置指标阈值可能导致扩缩容的不准确性。...这意味着在应用程序需要处理大量事件时,KEDA 可以快速扩展并自动添加 Pod 实例,以确保高吞吐量和低延迟。...通过快速响应和自动扩缩容的能力,KEDA 确保应用程序始终具备足够的资源来应对负载变化,从而保持系统高性能运行。...如果工作负载很高,Pod 将会被横向扩展。如果工作负载较低,则对 Pod 进行缩容。如果完全没有工作负载,则将删除 Pod,以最终优化基础设施资源。...与 HPA 和 VPA 相比,KEDA 具有以下优势: 1、更灵活:KEDA 可以根据任何指标进行缩放,而 HPA 和 VPA 仅限于 CPU 和 RAM 指标。

    2.4K20

    k8s多维度自动弹性伸缩

    接口调整副本数存在多个指标时,最终会选择扩缩容幅度最大的那个为最终副本数扩容有一定阈值缩容要超过一定冷却器(默认5min)2.6 metrics 的分类最新版 HPA:autoscaling/v2beta1...不可调度后最多 10s 可以触发扩容node 资源利用率低,且 node 上所有 pod 都能调度到其他 node 上。...节点不可用后 10min 开始缩容可以在启动时关闭缩容功能4.3 哪些pod会阻止CA缩容Node节点上有pod被PodDisruptionBudget控制器限制。...:仅缩容pod:取决于 HPA 的缩容冷却时间,默认好像是5min缩容Node:CA的冷却时间是10min六、总结本文针对 k8s 集群扩容的背景、价值、实现做了大概的介绍,HPA 默认就可以使用,CA...我司正是使用了 HPA + CA的组合来实现联动扩缩容,后续会做源码级分析,敬请期待。

    1.6K10

    kubernetes 降本增效标准指南|ProphetPilot:容器智能成本管理引擎

    ,以及为什么需要采用 有些组件是社区组件或 Kubernetes 原生能力,功能往往还不够强大,比如 HPA,扩缩容感知不够及时和准确,并不一定满足客户的需求 组件之间缺乏协调一致的体验,各自拥有各自的功能...突发流量时,感知缓慢,而推荐中心能够协同本地感知,联合其他副本一起协同,快速进行 HPA 的动作,从而做到秒级 HPA 快速突发扩容;采用 eBPF,在感知到某种系统调用过度时候,直接配置事件触发扩容;...例如当节点数缩容、工作负载水平缩容时,可以尽量慢一些,防止流量再次飙升; 周期策略:类似 CronJob,定时按周期执行某些策略; 人工确认策略:完全手工的行为,ProphetPilot 不会自动执行这些策略...进行获取,从而在应用层建立起 Workload 的相关性依赖图,做到业务的整体扩缩,而不是 Workload 的单独扩缩。...,往往还是得进行应用优先级划分,进行取舍,才能让资源利用率提升的同时,高优保证高优先级应用,而丢弃低优先级应用,所以,划分应用优先级,或许是未来的方向,这个不仅仅是应用层,从应用层,到 Kubernetes

    1.3K72

    k8s多维度自动弹性伸缩

    ,最终会选择扩缩容幅度最大的那个为最终副本数 扩容有一定阈值 缩容要超过一定冷却器(默认5min) 2.6 metrics 的分类 最新版 HPA:autoscaling/v2beta1,有四种类型的...不可调度后最多 10s 可以触发扩容 node 资源利用率低,且 node 上所有 pod 都能调度到其他 node 上。...节点不可用后 10min 开始缩容 可以在启动时关闭缩容功能 4.3 哪些pod会阻止CA缩容Node 节点上有pod被PodDisruptionBudget控制器限制。...,GCE一般是3~4min 缩容最终时间: 仅缩容pod:取决于 HPA 的缩容冷却时间,默认好像是5min 缩容Node:CA的冷却时间是10min 六、总结 本文针对 k8s 集群扩容的背景、价值、...实现做了大概的介绍,HPA 默认就可以使用,CA需要额外安装组件使用,而VPA使用较少。

    1.9K20

    云原生-什么是HPA和PDB、VPA

    # 示例 接下来让我们用一个简单的小例子来看看HPA的使用。假设有一个Web服务,我们希望在CPU使用率达到80%时自动扩展,下降到20%时自动缩容。...# 总结 HPA和VPA是Kubernetes中两种主要的自动扩缩容机制。...HPA主要用于根据CPU利用率调整应用程序的副本数,适用于需要水平扩展的应用程序;而VPA则直接调整正在运行中的Pod的资源分配,适用于对资源需求有明确上限的应用程序。...在实际应用中,根据应用程序的特点和需求选择合适的自动扩缩容机制,可以提高资源的利用效率和应用程序的稳定性。...HPA使得应用程序能够根据实时负载动态调整规模,提高资源利用率;而PDB则确保在计划性维护期间最小化Pod中断,提高应用程序的可靠性。

    61510

    在腾讯云容器服务 TKE 中利用 HPA 实现业务的弹性伸缩

    概述 Kubernetes Pod 水平自动扩缩(Horizontal Pod Autoscaler,以下简称 HPA)可以基于 CPU 利用率、内存利用率和其他自定义的度量指标自动扩缩 Pod 的副本数量...本文将介绍和使用腾讯云容器服务 TKE 的 HPA 功能实现 Pod 自动水平扩缩容。...但从下图工作负载的 Pod 数量监控可以看出,工作负载在 16:30 分时才触发了 HPA 的缩容,这是因为触发了 HPA 缩容有默认 5 分钟的容忍时间的算法,以防止度量指标短时间波动导致的频繁的扩缩容...当 TKE 发生 HPA 扩缩容事件时,会在对应的 HPA 实例的事件列表展示,如下图所示。...适当释放闲置资源,达到提升资源利用率的目的,并且整个过程在 HPA 和工作负载事件列表都会有相应的事件记录,使整个工作负载水平扩缩容全程可追溯。

    2.7K30

    大规模k8s集群的潮汐调度

    02、方 案 据了解,在Kubernetes 1.22版本开始,默认开启了pod-deletion-cost特性,允许用户设置Pod的删除成本,它是一个整数值,可以为正数、零或负数,分值越低在缩容时的优先级越高...控制器,当CPU使用率达到50%,则触发弹性扩缩容,为避免抖动带来的频繁伸缩容,我们把稳定窗口设置为300s,保留最小副本数为2 hpa.yaml apiVersion: autoscaling/v2...Pod启动时生成的/data/task.txt文件进行判断,值为0,即空闲,值为1,即繁忙。...最后一个环节,我们执行缩容,看看pod-deletion-cost分值低的Pod是否被优先删除,执行如下指令缩减副本。...(正常情况下的工作负载扩缩容应当是HPA自动完成,在这里为了方便演示,我们才通过人为干预) kubectl scale deployment nginx -n hpa --replicas=1 查看缩容后的情况

    36810
    领券