k8s 版本升级自动伸缩扩容出现的问题

文章讲述了在从k8s1.23.3升级到1.28.2后,遇到自动伸缩管理问题,由于同一命名空间内只能有一个HPA控制Deployment,作者合并了原本分别针对CPU和内存的两个HPA,给出了新的配置示例。
摘要由CSDN通过智能技术生成

之前的k8s版本是1.23.3 前几天升级到了1.28.2

在处理代码部署过程中,出现了一个问题,就是自动伸缩出现了unknow,然后找GPT问了下,给的建议如下

根据你提供的这两个 HorizontalPodAutoscaler(HPA)的 YAML 定义来看,manage-api-hpa-c App 用于处理 CPU 的自动扩缩,而 manage-api-hpa-m App 用于处理内存的自动扩缩,但两者都定向到相同的 Deployment(manage-api)。这就是我们在前面的描述输出中看到的问题原因。

在 Kubernetes 中,同一个 Deployment 在一个命名空间只能由一个 HPA 控制。你应该只有一个配置了多个资源(这里是 CPU 和 内存)的 HPA 而不是为每个资源(即 CPU,内存)设一个HPA。

解决办法是将这两个 HPA 合并为一个,让它同时对 CPU 和 Memory 进行 autoscaling,你可以按照以下的方式定义你的 HPA 配置(对应的版本为1.28.2):

apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
  name: manage-api-hpa
  namespace: mirror
  labels:
    app: manage-api-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: manage-api
  minReplicas: 2
  maxReplicas: 5
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        averageUtilization: 80
        type: Utilization
  - type: Resource
    resource:
      name: memory
      target:
        averageUtilization: 80
        type: Utilization

原本的是分开写的,现在二合一了
原本的脚本我展示下(对应的k8s版本为1.23.3):

---

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: manage-api-hpa-c
  namespace: mirror
  labels:
    app: manage-api-hpa-c
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: manage-api
  minReplicas: 2
  maxReplicas: 5
  metrics:
  - type: Resource
    resource:
      name: cpu
      targetAverageUtilization: 80

---

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: manage-api-hpa-m
  namespace: mirror
  labels:
    app: manage-api-hpa-m
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: manage-api
  minReplicas: 2
  maxReplicas: 5
  metrics:
  - type: Resource
    resource:
      name: memory
      targetAverageUtilization: 80
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值