用户指南

最佳实践

API 文档

自动伸缩指标说明

最近更新时间:2020-04-09 17:46:05

实例(Pod)自动扩缩容功能(Horizontal Pod Autoscaler,HPA)可以根据目标实例 CPU 利用率的平均值等指标自动扩展或缩减服务的 Pod 数量。自动扩缩容时,可供在控制台进行设置的触发指标类型包括 CPU 指标、内存、硬盘、网络和 GPU 相关指标。此外,这些指标还可以在您通过 YAML 文件创建和编辑 HPA 时使用,本文将给出配置 YAML 文件示例。

自动伸缩指标

自动伸缩指标详情如下表所示:

注意:

在如下的自动伸缩指标详情表中, metricName 中的变量本身有单位,即表中所示默认单位,该单位在编写 YAML 文件时可忽略。

CPU 指标

指标名称(控制台)单位(控制台)备注 typemetricName默认单位
CPU 使用量 Pod 的 CPU 使用量 Pods k8s_pod_cpu_core_used
CPU 利用率
(占Pod规格)
% Pod 的 CPU 使用量占 Pod 分配总量之比 Pods k8s_pod_rate_cpu_core_used_resource %
CPU 利用率
(占 Request)
% Pod 的 CPU 使用量和设置的 Request 值之比 Pods k8s_pod_rate_cpu_core_used_request %
CPU 利用率
(占 Limit)
% Pod 的 CPU 使用量和设置的 Limit 值之比 Pods k8s_pod_rate_cpu_core_used_limit %

内存

指标名称(控制台)单位(控制台)备注 typemetricName默认单位
内存使用量 Mib Pod 内存使用量 Pods k8s_pod_mem_usage_bytes B
内存利用率
(占Pod规格)
% Pod 内存使用量占 Pod 分配的比例 Pods k8s_pod_rate_mem_usage_bytes_resource %
内存利用率
(占 Request)
% Pod 内存使用占 Request 的比例 Pods k8s_pod_rate_mem_usage_request %
内存利用率
(占 Limit)
% Pod 内存使用占 limit 的比例 Pods k8s_pod_rate_mem_usage_limit %

通过 YAML 编辑和创建 HPA

您可以通过 YAML 文件创建和编辑 HPA 。以下为配置文件的示例,该文件定义了一条名称为 example 的 HPA ,CPU 使用量为1时触发 HPA ,实例范围为1 - 2。

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: example
  namespace: default
  labels:
    qcloud-app: example
spec:
  minReplicas: 1
  maxReplicas: 2
  metrics:
  - type: Pods
    pods:
      metricName: k8s_pod_cpu_core_used
      targetAverageValue: "1"
  scaleTargetRef:
    apiVersion: apps/v1beta2
    kind: Deployment
    name: nginx
目录