首页 文章

Kubernetes Autoscaling与内存不工作,但为CPU工作

提问于
浏览
1

我使用的yaml如下所示

apiVersion: v1
    kind: Service
    metadata:
      name: xxx-svc
      labels:
        app: xxxxxx
    spec:
      type: NodePort
      ports:
      - port: 8080
      selector:
        app: xxxxxx
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: my-xxx
      labels:
        app: xxxxxx
    spec:
      selector:
        matchLabels:
          app: xxxxxx
      template:
        metadata:
          labels:
            app: xxxxxx
        spec:
          containers:
          - name: xxxxxx
            image: yyy/xxxxxx:latest
            ports:
            - containerPort: 8080
            resources:
              requests:
                cpu: "100m"
                memory: "504Mi"
              limits:
                cpu: "100m"
                memory: "504Mi"
    ---
    apiVersion: autoscaling/v2beta2
    kind: HorizontalPodAutoscaler
    metadata:
      name: xxxxxx
    spec:
      scaleTargetRef:
        apiVersion: apps/v1
        kind: Deployment
        name: my-xxx
      minReplicas: 1
      maxReplicas: 3
      metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 50
  - type: Resource
    resource:
      name: memory
      target:
        type: Value
        averageValue: 500Mi

服务,HPA,部署所有部署成功,但当我检查hpa(kubectl得到hpa)我得到低于结果

NAME        REFERENCE              TARGETS                   MINPODS   
MAXPODS   REPLICAS   AGE

xxxxxx   Deployment/my-xxx   unknown/500Mi, 1%/50%   1         3         3          69m

我得到的原因(kubectl描述hpa)是

警告FailedComputeMetricsReplicas 21m(x4超过22m)horizontal-pod-autoscaler无法获得内存利用率:缺少内存请求

可能是内存未知但CPU工作的原因

1 回答

  • 0

    原因如下:

    警告FailedComputeMetricsReplicas 21m(x4超过22m)horizontal-pod-autoscaler无法获得内存利用率:缺少内存请求

    默认情况下,Kubernetes HPA不能使用您需要为内存创建自定义指标然后使用它的内存 . 我发现了一些其他信息here人们如何尝试解决同样的问题 .

    基于Pod内存的AutoScaling在本节中,我们将讨论如何根据pod正在使用的内存部署自动扩展 . 我们使用命令“kubectl top pod”来获取所使用的pod内存并应用逻辑 . 获取正在运行的pod的平均pod内存:执行脚本如下:

相关问题