在 autoscale namespace 中创建一个名为 apache-server 的新HorizontalPodAutoscaler(HPA)此 HPA 必须定位到 autoscale namespace 中名为 apache-server
的现有 Deployment 。
将 HPA 设置为每个 Pod 的 CPU 使用率旨在 50% 。将其配置为至少有 1 个 Pod,且不超过 4 个 Pod 。此外,将缩小稳定窗口设置为 30 秒。
题解:
步骤1.创建 HorizontalPodAutoscaler
*$ kubectl -n autoscale autoscale deployment apache-server --cpu-percent=50 --min=1 --max=4
提示 autoscaled,表示成功
$ kubectl explain hpa.spec.behavior.scaleDown.stabilizationWindowSeconds
KIND: HorizontalPodAutoscaler
VERSION: autoscaling/v2
FIELD: stabilizationWindowSeconds <integer>
DESCRIPTION:
窗口时长(秒)。在缩容时,HPA 会回顾过去这么长时间内计算出的所有推荐副本数,
并选择其中的最大值作为实际缩容目标,防止因指标瞬时抖动导致频繁缩容。
如果未设置,默认使用 --horizontal-pod-autoscaler-downscale-stabilization 全局参数,
该参数默认值为 300 秒(5分钟)。
此字段需为正值,且建议不小于 60 秒。
第一个 autoscale 是 namespace 的名字,这个题目里要求的“在 autoscale namespace 中”第二个 autoscale 是指要自动扩容 deployment
步骤2.修改 HorizontalPodAutoscaler 缩小稳定窗口为 30 秒
kubectl -n autoscale edit hpa apache-server
在 maxReplicas: 4 这一行下面新增 3 行
behavior:
scaleDown:
# 缩容稳定窗口时长(单位:秒)
# 在此窗口内,若多次触发缩容条件,系统会选择窗口内计算出的最大副本数
# 避免因指标瞬时波动导致频繁缩容,提升稳定性
stabilizationWindowSeconds: 30
提示 edited,表示修改成功
步骤3.检查 HorizontalPodAutoscaler
kubectl -n autoscale describe horizontalpodautoscalers apache-server

75

被折叠的 条评论
为什么被折叠?



