当Kubernetes监控负载的增加或减少(即CPU负载,流量)时,它是否可以自动添加或减少pod的数量?
如果可能,我该如何配置?
答案 0 :(得分:1)
尚未提供pod的自动缩放功能,但正如Brendan在a previous answer中提到的那样,它肯定在我们的路线图上。
使用公共Kubernetes API,它实际上可以很容易地在Kubernetes的核心之外构建。但是,如果您宁愿等待其他人来构建它,那么它似乎是started planning a design for one的贡献者。
答案 1 :(得分:0)
是Kubernetes支持基于限制设置(即CPU或内存)自动缩放pod imagePullPolicy:总是 的资源: 限制: 记忆:" 1Gi" cpu:" 256m" 要求: 记忆:" 64Mi" cpu:" 60m"
kubectl autoscale deployment nginx --cpu-percent = 80 --min = 5 --max = 10 查看 kubectl得到hpa
名称参考目标MINIPODS MAXPODS REPLICAS AGE nginx部署/ nginx 0%/ 50%5 10 5 1d
答案 2 :(得分:0)
是的,新版本的kubernetes支持自动缩放。它已作为水平容器缩放添加到K8中。 https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
为了使用自动缩放
kubectl autoscale deployment deployment_name --cpu-percent=10 --min=2 --max=5
-cpu-percent表示将不执行缩放的最大限制。
--min表示豆荚的最小数量。
--max表示豆荚的最大数量。
运行
kubectl get hpa
观察结果。 TARGETS列显示当前的cpu%/ cpu-提及的百分比-自动缩放在这种情况下为10。 随着负载增加,Kubernetes会自动创建新的Pod。 进行检查,请转到此链接https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/ 。 运行busybox之后,执行
kubectl get pods
检查豆荚的数量。