kubernets HPA
来自chatGPT
Kubernetes中的HPA(Horizontal Pod Autoscaler)可以根据当前负载情况自动扩展Pod数量。在HPA配置中,有一个可选字段behavior,它可以用于指定HPA策略的特定行为。behavior字段包括以下两个子字段:
scaleDown:用于指定缩容行为的参数。如果在一段时间内,HPA检测到当前Pod剩余的CPU或内存利用率低于下面两个条件之一,那么就会自动缩容:
utilizationThreshold:当所有Pod所需的CPU或内存利用率低于这个阈值时,进行缩容。
stabilizationWindowSeconds:当在指定的时间窗口内(默认为300秒)进行缩容时,如果在一次调整之前,Pod的利用率在一定范围内保持稳定(默认为5),那么就不会进行缩容。
scaleUp:用于指定扩容行为的参数。如果在一段时间内,HPA检测到当前Pod剩余的CPU或内存利用率高于utilizationThreshold设置的阈值,那么就会自动扩容。
behavior字段可根据实际需要进行配置,以控制HPA策略的行为方式。
例如,以下是一个HPA配置示例,其中指定了缩容行为的behavior参数:
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:name: my-app
spec:scaleTargetRef:apiVersion: apps/v1kind: Deploymentname: my-deploymentminReplicas: 2maxReplicas: 10metrics:- type: Resourceresource:name: cputarget:type: UtilizationaverageUtilization: 50behavior:scaleDown:stabilizationWindowSeconds: 300policies:- type: Podsvalue: 4periodSeconds: 60scaleUp:policies:- type: Podsvalue: 4periodSeconds: 60
periodSeconds 表示在过去的多长时间内要求策略值为真。 第一个策略(Pods)允许在一分钟内最多缩容 4 个副本。第二个策略(Percent) 允许在一分钟内最多缩容当前副本个数的百分之十。假如缩容前的pod数量是80个,目标要缩减到10个,那么,由于默认情况下会选择容许更大程度作出变更的策略, 那么在第一步中将减少 8 个副本。 在下一轮迭代中,当副本的数量为 72 时,10% 的 Pod 数为 7.2,但是这个数字向上取整为 8。 在 autoscaler 控制器的每个循环中,将根据当前副本的数量重新计算要更改的 Pod 数量。 当副本数量低于 40 时,应用第一个策略(Pods),一次减少 4 个副本。
在这个HPA示例中,有以下属性:
apiVersion:定义使用的Kubernetes API版本。
kind:定义资源的类型,此处定义为HorizontalPodAutoscaler。
metadata:定义资源的元数据,如名称、命名空间、标签等。
spec.scaleTargetRef:定义要自动扩展Pod的目标资源,例如Deployment或StatefulSet。
spec.minReplicas:定义Pod的最小数量,这是Auto Scaling不能缩小的数量。
spec.maxReplicas:定义Pod的最大数量,这是Auto Scaling不能扩展的数量。
spec.metrics:定义用于自动扩展的度量指标,此处使用CPU利用率作为度量指标。
spec.behavior:定义HPA的缩放行为。
scaleDown.stabilizationWindowSeconds:当检测到可以缩小Pod数量时,等待调整之前Pod的利用率保持稳定的时间。
scaleDown.policies:指定要执行的缩小Pod数量的策略。这在HPA检测到CPU利用率低于目标利用率时启动。
type:指定策略的类型。在此处, type被设置为Pods,意味着对Pod级别执行策略。另一种类型是Percent,在默认情况下是对所有Pod的均值执行策略。
value:指定要移除的Pod数量。
periodSeconds:指定在每个执行策略之间等待多长时间。
scaleUp.policies:指定要执行的扩展Pod数量的策略。这在HPA检测到CPU利用率高于目标利用率时启动。
type、value和periodSeconds均与scaleDown.policies相同。
这个HPA示例定义了一个名为my-app的HPA,并指定了如果CPU利用率低于50%时,将调整Pod数量,以便缩小4个Pod。它还指定了等待5分钟,以便在调整之前Pod的利用率保持稳定。如果CPU利用率高于50%,则该HPA将在30秒内增加2个Pod。也就是说,如果CPU利用率超过50%,HPA会自动为该Deployment或StatefulSet提供更多的Pod,以满足更高的流量需求。
kubernets HPA相关推荐
- Kubernetes基于Metrics Server的HPA
Kubernetes基于Metrics Server的HPA [TOC] 1. 环境说明和相关介绍 我的kubernetes环境: kubeadm安装的kubernetes1.11 Horizonta ...
- 十问 | 关于Service Mesh 和Kubernets的最前沿思考
小蚂蚁说: 在7月6日ArchSummit全球架构师峰会2018深圳站上,蚂蚁金服平台数据技术部的杨冰.Service Mesh布道师敖小剑.蚂蚁金服技术专家毛小云和来自阿里大文娱UC基础部的曾彬,四 ...
- Kubernetes 弹性伸缩全场景解析(三) - HPA 实践手册
在上一篇文章中,给大家介绍和剖析了 HPA 的实现原理以及演进的思路与历程.本文我们将会为大家讲解如何使用 HPA 以及一些需要注意的细节. autoscaling/v1 实践 v1 的模板可能是大家 ...
- Kubernetes 弹性伸缩全场景解读(二)- HPA 的原理与演进
前言 在上一篇文章 Kubernetes 弹性伸缩全场景解析 (一):概念延伸与组件布局中,我们介绍了在 Kubernetes 在处理弹性伸缩时的设计理念以及相关组件的布局,在今天这篇文章中,会为大家 ...
- 【网址收藏】k8s HPA自动伸缩异常:failed to get cpu utilization: missing request
参考链接: Kubernetes:HPA 详解-基于 CPU.内存和自定义指标自动扩缩容
- K8S控制器类型:RC/RS、Deployment、DaemonSet、Job和CronJob、StatefulSet、HPA
控制器类型 RC/RS 命令式编程就类似于面向过程 声明式编程就类似于面向对象 sql语句就是典型的声明式编程语言 Deployment Deployment是通过RS来创建和管理pod的 Daemo ...
- asp.net core程序在k8s中基于rabbitmq队列消息数的HPA实践!
背景 最近一段时间,陆陆续续的把手里头项目都迁移到了k8s中,期间遇到很多的坑,并且也学到了许多k8s的知识(从0-1),大家都知道k8s中的一大特性是自动扩容,对此结合自己的业务发现很是有" ...
- php 生存分析,HPA数据库08.做生存分析
生信论文的套路 ONCOMINE从全景.亚型两个维度做表达差异分析: 临床标本从蛋白水平确认(或HPA数据库),很重要: Kaplan-Meier Plotter从临床意义的角度阐明其重要性: cBi ...
- OpenShift 4 - 基于Memory的HPA
<OpenShift 4.x HOL教程汇总> 说明:本文已经在OpenShift 4.6环境中验证 安装并发压力工具 $ yum install httpd 部署测试应用和HPA $ o ...
最新文章
- python括号配对问题_使用Python的栈实现括号匹配算法
- 集中化监控SQL Server数据库
- python123程序作业答案说句心里话_作业 -- 几道简单的Python题
- IOS-C语言第1天
- 无关技术,关于香港对我的影响
- c语言深入浅出(一)strcpy和memcpy的区别
- 极兔正式入股百世快递
- Eclipse-插件的安装之link文件方法
- Excel自动转曲线图的时PHP,excel表格数据转为曲线-如何将EXCEL表中的数据生成曲线...
- php 验证是否是xml,php判断str字符串是否是xml格式数据
- (第24讲)java小程序——Applet
- android 基站信号测试软件,基站信号监测app
- Anaconda修改默认浏览器
- 计算机总是提醒更新,电脑关机的时候总是提示系统正在更新怎么办?
- Your app declares support for audio in the UIBackgroundModes key in your Info.plist 错误
- 如何登录MySQL数据库
- 在高分辨率屏幕上用VMware运行ubuntu显示过小的问题
- “ IMY”是什么意思,如何使用?
- Ubuntu上让Firefox使用Chrome最新版PepperFlash插件
- Objective-C语法之Category的使用
热门文章
- ESP32 Arduino (六)TFT屏幕连接无线局域网投屏
- [笔记]光照系统3环境光、反射光
- UMeng统计分析Android集成文档
- 赖特 因果分析_那个时候,赖特会把你放在查尔斯·达尔文的鞋子上
- 【教程】PyG入门,初步尝试运行第一行GNN代码
- Python中的reduce()函数----可求积求和
- 安装php还要安装什么软件吗,PHP的安装方法及软件
- java火焰纹章攻略女神之剑_火焰纹章风花雪月图文攻略 主线流程+角色培养+转职系统 (33) _白云之章·女神的行踪②_游侠网...
- 用Python统计居民消费支出情况
- RGB图像是3通道才有颜色,1通道只能是灰色