k8s hpa扩展伸缩详解
k8s hpa扩展伸缩详解
首先来说一下pod资源的分配:
limits: 申请内存最大值,超过这个值就会触发oom
requests: 申请内存最小值(此处个人将他理解为pod预分配内存。为什么这样理解下面有说明)
hpa: 内存或cpu使用量达到百分之80开始扩容,yaml文件如下:
[root@k8s-node01 hpa]# cat hpa-default.yaml apiVersion: autoscaling/v2beta1 kind: HorizontalPodAutoscaler metadata: name: servername namespace: pro spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: servername minReplicas: 2 maxReplicas: 4 metrics: - type: Resource resource: name: memory targetAverageUtilization: 80 - type: Resource resource: name: cpu targetAverageUtilization: 80
###
resource内存参考的值,仅仅作为参考: 服务启动占用内存 * 2.5
hpa负载计算方式:
pod使用的量 * pod数 / request量 / pod数量
扩容副本数计算:
期望副本数 = ceil[当前副本数 * (当前指标 / 期望指标)]
官方连接: https://kubernetes.io/zh-cn/docs/tasks/run-application/horizontal-pod-autoscale/#algorithm-details
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)