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