腾讯云容器服务 TKE 标准集群 Kubernetes 对象管理 - 自动伸缩指标说明
文档简介:
实例(Pod)自动扩缩容功能(Horizontal Pod Autoscaler,HPA)可以根据目标实例 CPU 利用率的平均值等指标自动扩展、缩减服务的 Pod 数量。自动扩缩容时,可供在控制台进行设置的触发指标类型包括 CPU 指标、内存、硬盘、网络和 GPU 相关指标。此外,这些指标还可以在您通过 YAML 文件创建和编辑 HPA 时使用,本文将给出配置 YAML 文件示例。
实例(Pod)自动扩缩容功能(Horizontal Pod Autoscaler,HPA)可以根据目标实例 CPU 利用率的平均值等指标自动扩展、缩减服务的 Pod 数量。自动扩缩容时,可供在控制台进行设置的触发指标类型包括 CPU 指标、内存、硬盘、网络和 GPU 相关指标。此外,这些指标还可以在您通过 YAML 文件创建和编辑 HPA 时使用,本文将给出配置 YAML 文件示例。
自动伸缩指标
自动伸缩指标详情如下表所示:
说明
其中 metricName 中的变量本身有单位,即表中所示默认单位,该单位在编写 YAML 文件时可忽略。
CPU 指标
指标名称
(控制台)
|
单位
(控制台)
|
备注
|
type
|
metricName
|
默认单位
|
CPU 使用量
|
核
|
Pod 的 CPU 使用量
|
Pods
|
k8s_pod_cpu_core_used
|
核
|
CPU 利用率
(占节点)
|
%
|
Pod 的 CPU 使用量占节点总量之比
|
Pods
|
k8s_pod_rate_cpu_core_used_node
|
%
|
CPU 利用率
(占 Request)
|
%
|
Pod 的 CPU 使用量和 Pod 中容器设置的 Request 值之比
|
Pods
|
k8s_pod_rate_cpu_core_used_request
|
%
|
CPU 利用率
(占 Limit)
|
%
|
Pod 的 CPU 使用量和 Pod 中容器设置的 Limit 之和的比例
|
Pods
|
k8s_pod_rate_cpu_core_used_limit
|
%
|
硬盘
指标名称
(控制台)
|
单位
(控制台)
|
备注
|
type
|
metricName
|
默认单位
|
硬盘写流量
|
KB/s
|
Pod 的硬盘写速率
|
Pods
|
k8s_pod_fs_write_bytes
|
B/s
|
硬盘读流量
|
KB/s
|
Pod 的硬盘读速率
|
Pods
|
k8s_pod_fs_read_bytes
|
B/s
|
硬盘读 IOPS
|
次/s
|
Pod 从硬盘读取数据的 IO 次数
|
Pods
|
k8s_pod_fs_read_times
|
次/s
|
硬盘写 IOPS
|
次/s
|
Pod 把数据写入硬盘的 IO 次数
|
Pods
|
k8s_pod_fs_write_times
|
次/s
|
网络
指标名称
(控制台)
|
单位
(控制台)
|
备注
|
type
|
metricName
|
默认单位
|
网络入带宽
|
Mbps
|
单 Pod 下所有容器的入方向带宽之和
|
Pods
|
k8s_pod_network_receive_bytes_bw
|
Bps
|
网络出带宽
|
Mbps
|
单 Pod 下所有容器的出方向带宽之和
|
Pods
|
k8s_pod_network_transmit_bytes_bw
|
Bps
|
网络入流量
|
KB
|
单 Pod 下所有容器的入方向流量之和
|
Pods
|
k8s_pod_network_receive_bytes
|
B
|
网络出流量
|
KB
|
单 Pod 下所有容器的出方向流量之和
|
Pods
|
k8s_pod_network_transmit_bytes
|
B
|
网络入包量
|
个/s
|
单 Pod 下所有容器的入方向包数之和
|
Pods
|
k8s_pod_network_receive_packets
|
个/s
|
网络出包量
|
个/s
|
单 Pod 下所有容器的出方向包数之和
|
Pods
|
k8s_pod_network_transmit_packets
|
个/s
|
内存
指标名称
(控制台)
|
单位
(控制台)
|
备注
|
type
|
metricName
|
默认单位
|
内存使用量
|
MiB
|
Pod 内存使用量
|
Pods
|
k8s_pod_mem_usage_bytes
|
B
|
内存使用量(不包含 Cache)
|
MiB
|
Pod 内存使用,不包含 Cache
|
Pods
|
k8s_pod_mem_no_cache_bytes
|
B
|
内存利用率(占节点)
|
%
|
Pod 内存使用占 node 的比例
|
Pods
|
k8s_pod_rate_mem_usage_node
|
%
|
内存利用率(占节点,不包含 Cache)
|
%
|
Pod 内存使用占 node 的比例,不含 Cache
|
Pods
|
k8s_pod_rate_mem_no_cache_node
|
%
|
内存利用率(占 Request)
|
%
|
Pod 内存使用占 Request 的比例
|
Pods
|
k8s_pod_rate_mem_usage_request
|
%
|
内存利用率(占 Request,不包含Cache)
|
%
|
Pod 内存使用占 Request 的比例,不含 Cache
|
Pods
|
k8s_pod_rate_mem_no_cache_request
|
%
|
内存利用率(占 Limit)
|
%
|
Pod 内存使用占 Limit 的比例
|
Pods
|
k8s_pod_rate_mem_usage_limit
|
%
|
内存利用率(占 Limit,不包含 Cache)
|
%
|
Pod 内存使用占 Limit 的比例,不含 Cache
|
Pods
|
k8s_pod_rate_mem_no_cache_limit
|
%
|
GPU
说明
以下所有 GPU 相关的触发指标,当前仅支持在 TKE Serverless 集群中使用。
指标名称
(控制台)
|
单位
(控制台)
|
备注
|
type
|
metricName
|
默认单位
|
GPU 使用量
|
CUDA Core
|
Pod GPU 使用量
|
Pods
|
k8s_pod_gpu_used
|
CUDA Core
|
GPU 申请量
|
CUDA Core
|
Pod GPU 申请量
|
Pods
|
k8s_pod_gpu_request
|
CUDA Core
|
GPU 利用率(占 Request)
|
%
|
GPU 使用占 Request 的比例
|
Pods
|
k8s_pod_rate_gpu_used_request
|
%
|
GPU 利用率(占节点)
|
%
|
GPU 使用占 node 的比例
|
Pods
|
k8s_pod_rate_gpu_used_node
|
%
|
GPU memory 使用量
|
MiB
|
Pod GPU memory 使用量
|
Pods
|
k8s_pod_gpu_memory_used_bytes
|
B
|
GPU memory 申请量
|
MiB
|
Pod GPU memory 申请量
|
Pods
|
k8s_pod_gpu_memory_request_bytes
|
B
|
GPU memory 利用率(占 Request)
|
%
|
GPU memory 使用占 Request 的比例
|
Pods
|
k8s_pod_rate_gpu_memory_used_request
|
%
|
GPU memory 利用率(占节点)
|
%
|
GPU memory 使用占 node 的比例
|
Pods
|
k8s_pod_rate_gpu_memory_used_node
|
%
|
通过 YAML 创建和编辑 HPA
您可以通过 YAML 文件创建和编辑 HPA 。以下为配置文件的示例,该文件定义了一条名称为 example 的 HPA ,CPU 使用量为1时触发 HPA ,实例范围为1 - 2。
注意
TKE 同样兼容原生的 Resource 类型。
apiVersion: autoscaling/v2beta1kind: HorizontalPodAutoscalermetadata:name: examplenamespace: defaultlabels:qcloud-app: examplespec:minReplicas: 1maxReplicas: 2metrics:- type: Pods # 支持使用 Resourcepods:metricName: k8s_pod_cpu_core_usedtargetAverageValue: "1"scaleTargetRef:apiVersion: apps/v1beta2kind: Deploymentname: nginx