Kubernetes 能否在监控负载(即 CPU 负载、流量)的增加或减少时自动增加或减少 Pod 的数量?
如果可能,我该如何配置它?
是的,新版本的 kubernetes 支持自动缩放。它作为水平 pod 缩放添加到 K8。在 https://kubernetes.io/docs/tasks/run-application/horizo ntal-pod-autoscale/ 上了解更多信息
为了使用自动缩放
kubectl autoscale deployment deployment_name --cpu-percent=10 --min=2 --max=5
--cpu-percent 表示不执行缩放的限制。
--min 表示最小的 pod 数。
--max 表示最大 pod 数。
跑
kubectl get hpa
观察结果。TARGETS 列显示 current-cpu%/cpu-percent-提到的-during-autoscale 对于这种情况,它是 10 。随着负载的增加,Kubernetes 会自动创建新的 Pod。要检查这一点,请访问此链接https://kubernetes.io/docs/tasks/run-application/horizontal -pod-autoscale-walkthrough/ 。运行busybox后执行
kubectl get pods
检查豆荚的数量。
是 Kubernetes 支持基于限制集的 Pod 自动缩放,即 CPU 或内存 imagePullPolicy:始终 资源:限制:内存:“1Gi”cpu:“256m”请求:内存:“64Mi”cpu:“60m”
kubectl autoscale deployment nginx --cpu-percent=80 --min=5 --max=10 查看kubectl get hpa
名称 参考 目标 MINPODS MAXPODS REPLICAS 年龄 nginx 部署/nginx 0% / 50% 5 10 5 1d