如何将 k8s 部署扩展到"plus one pod"



谁知道任何方式,或控制器,插件,任何…在不事先知道部署的副本数量的情况下,将部署扩展到一个或多个副本。像

kubectl scale --replicas=+1 deployment/mysql

目前,据我所知,我们需要首先查询对象的当前副本数量,然后才能运行命令。但是如果在查询和执行命令之间有人已经扩展了10个副本,而我们覆盖了副本的数量。我知道,我们可以使用"当前复制品",但无论如何;有人知道另一种方法吗?

谢谢!

我想你基本上已经回答了你自己的问题,尽管你可能希望得到更优雅的东西。通过kubectl,唯一的方法是查询当前副本的数量,然后向该值加1发出scale命令。为了防止有人在您之前缩放它,您可以使用——current-replicas标志来确保先前的值是您最初检索的值。在一个shell命令中可以这样做:

REPS=$(kubectl get deployments/mysql -o jsonpath={.status.replicas}) 
[ -z "${REPS}" ] && kubectl scale 
--current-replicas=$REPS 
--replicas=$(echo $REPS + 1 | bc -l) deployments/mysql

最新更新