HPA 的 YAML 模板和 CKAD 常考字段解析
HorizontalPodAutoscaler 简称 HPA,用于按指标自动扩缩容。CKAD 不是最高频,但命令很短,值得记。
YAML 模板
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: web-hpa
namespace: workloads
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: web
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 60
|
常考字段解析
scaleTargetRef:要扩缩容的目标资源,常见 Deployment。minReplicas:最小副本数。maxReplicas:最大副本数。metrics[].resource.name:指标资源,常见 cpu。averageUtilization:目标平均利用率百分比。
常用命令
1
2
3
| k autoscale deployment web -n workloads --min=2 --max=10 --cpu-percent=60
k get hpa -n workloads
k describe hpa web-hpa -n workloads
|
易错点
- HPA 依赖 metrics-server;考试如果只要求创建资源,不一定需要指标真实可用。
- 被扩缩容的容器通常需要配置 CPU requests。