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

优化 Kubernetes 横向 HPA

图片来源: instagram.com/febin_raj Pod水平自动(Horizontal Pod Autoscaler, 简称HPA)可以基于 CPU/MEM 利用率自动Deployment...、StatefulSet 中的 Pod 数量,同时也可以基于其他应程序提供的自定义度量指标来执行自动。...HPA Resource类型不足 默认HPA提供了Resource类型,通过CPU/MEM使用率指标(由metrics-server提供原始指标)来应用。...好在1.20版本中已经支持了ContainerResource可以配置基于某个容器的资源使用率来进行,如果是之前的版本建议使用自定义指标替换。...另外,hpa核心的算法根据当前指标和期望指标来计算比例,并不适合所有场景,只使用线性增长的指标。

2.1K30
您找到你想要的搜索结果了吗?
是的
没有找到

Airbnb的动态kubernetes集群

Airbnb的动态kubernetes集群 本文介绍了Airbnb的集群的演化历史,以及当前是如何通过Cluster Autoscaler 实现自定义扩展器的。...我们每天的流量波动都非常大,需要依靠动态来保证服务的正常运行。 为了支持,Airbnb使用了Kubernetes编排系统。...这些演进可以划分为如下几个阶段: 阶段1:异构集群,手动扩容 阶段2:多集群类型,独立 阶段3:异构集群,自动 阶段1:异构集群,手动 在使用Kubernetes之前,每个服务实例都运行在其所在的机器上...在这个阶段,我们实现了集群的手动,但相比之前仍然有着显著的提升。...通过这种额外的负载灵活性,我们可以有更多的空间来在默认的Cluster Autoscaler扩展逻辑之外,实现成熟的策略。特别地,我们计划实现与Airbnb特定业务逻辑相关的逻辑。

67240

Kubernetes HPA级别配置预览

:该类应用希望当大量数据到达时希望快速扩容,在数据减少时,希望快速的,以节省成本; 常规流量/数据处理应用:该类应用不那么重要,可以缓慢的扩容和,以避免快速带来抖动; 而当前版本的实现(1.15...结合前述的背景,不难得出,本次改进目标有两点: 允话用户(更精确)的控制速度; 允话用户在 HPA 层面控制速度(每个HPA可以有个性化的控制); 新特性设计 ?...有个参数(--horizontal-pod-autoscaler-sync-period) 控制的是 HPA controller 处理周期,每个周期中处理所有的 HPA(为HPA生成建议,并执行...percent (百分比) 顾名思义,这个是控制的百分比,可以简单的理解成把硬编码的 scaleUpLimitFactor = 2.0 改成可配置项。...pods (个数) 这个是控制每个的绝对个数,可以简单的理解成把硬编码的 scaleUpLimitMinimum = 4.0 改成可配置项。

1.5K10

英雄联盟自动化利器

自动化的目的主要有三个部分,首先是用户体验的保障,我们必须以最快的响应速度去应对用户增长的需求,否则必然会出现大规模的掉线或者拥挤排队,影响游戏基本体验;其次是资源的最有效利用,英雄联盟业务的单位运营成本...关于自动化利器的用户交互,主要用的是类似汽车的仪表盘的形式来展示相关时实施人员比较关心的数据。如图(2) ?...所向披靡-无所不能的容量云: 二期功能加入了监控和自动触发、等功能,真正实现采集性能数据、按照模型分析出结论、实施、性能数据达标等一系列操作,流程上把容量管理这件事做成闭环。...自动采集数据、分析出决策、实施操作的整体流程架构图如下: ?...才将云中的服务器扩到游戏大区中;如红色的箭头所示,通过自动化的,我们做到了自动化的将游戏大区中,尚且富余的服务器资源返还给业务云,然后由云在分配给需要使用的游戏大区,这样通过自动化的服务,我们做到了服务器资源自动化的动态调用

1.9K100

k8s滚动升级和

一、 手动扩容 k8s使用过kubectl scale命令进行扩容 假设原本的pod有3个,这个时候由于业务的增长,我们可以将pod增加到5个 kubectl scale rc blog --replicas...的值设置为比原来的pod数,k8s会杀掉一些pod,下面3个变成1个 kubectl scale rc blog --replicas=1 自动扩容(HPA) 用于实现基于CPU使用率进行自动Pod的功能...算法 最终pod的数量=ceil[当前的pod数量*(当前性能指标数/期望性能性能指标数)] ceil向上取整 比如:当前的cpu使用率是60%,但是我期望的是30%,并且当前已经存在2个pod了...HorizontalPodAutoscaler k8s提供HorizontalPodAutoscaler资源对象,让我们可以使用它进行配置的规则。...HorizontalPodAutoscaler有两个版本,autoscaling/v1 只支持CPU使用率的指标数,autoscaling/v2则用于支持基于任意指标的自动配置,包括基于资源使用率

1.2K30

k8s中pod的自动

HPA说明 Kubernetes从1.1版本开始, 新增了名为Horizontal Pod Autoscaler(HPA) 的控制器, 用于实现基于CPU使用率进行自动Pod的功能。...kube-controller-manager服务启动参数–horizontal-pod-autoscaler-sync-period定义的探测周期(默认值为15s) , 周期性地监测目标Pod的资源性能指标, 并与HPA资源对象中的条件进行对比...Kubernetes在早期版本中, 只能基于Pod的CPU使用率进行自动操作, 关于CPU使用率的数据来源于Heapster组件。...HPA控制器通过Metrics Server的API(Heapster的API或聚合API) 获取这些数据, 基于用户定义的规则进行计算, 得到目标Pod副本数量。...当目标Pod副本数量与当前副本数量不同时, HPA控制器就向Pod的副本控制器 (Deployment、 RC或ReplicaSet) 发起scale操作, 调整Pod的副本数量,完成操作。

3.4K31

在 kubernetes 环境下如何优雅 Pulsar

根据对线上流量、存储以及系统资源的占用,发现我们的 Pulsar 集群有许多的冗余,所以考虑进行从而减少资源浪费,最终也能省一些费用。... 其实本文的重点在于,特别是 Bookkeeper 的,这部分内容我在互联网上很少看到有人提及。...Broker Broker 的相对简单,因为存算分离的特点:broker 作为计算层是无状态的,并不承载任何的数据。...不然就无法满足之前提到的 Write quorum size (QW) 要求;因此还有一个潜在条件需要满足: 后的 Bookkeeper 节点数量需要大于broker 中的配置: managedLedgerDefaultEnsembleSize...总结 总的来说 Pulsar 的还是非常简单的,只是对于有状态节点的数据迁移稍微复杂一些,但只要跟着流程走就不会有什么问题。

8110
领券