Kubernetes 自动伸缩技术全解析
1. 垂直 Pod 自动伸缩(VPA)
1.1 水平与垂直伸缩对比
水平伸缩通常比垂直伸缩更受欢迎,因为它对无状态服务的干扰更小。但对于有状态服务,垂直伸缩可能更受青睐。此外,根据实际负载模式调整服务的资源需求时,垂直伸缩也很有用。
1.2 VPA 简介
Kubernetes 垂直 Pod 自动伸缩器(VPA)旨在通过根据实际使用反馈自动调整和分配资源,解决确定容器正确请求和限制的挑战。
1.3 VPA 定义示例
apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
name: random-generator-vpa
spec:
targetRef:
apiVersion: apps/v1
kind: Deployment
name: random-generator
updatePolicy:
updateMode: "Off"
1.4 VPA 定义的主要部分
部分 | 描述 |
---|---|
目标引用(Target reference) | 指向控制 Pod 的高级资源,如 Deployment 或 St |