上一篇文章我们进行了借助deployment对象对kubernetes中的pod进行高可用的演示 ,今天我们继续对kubernetes中的应用扩缩容进行讲解。
前提条件:
运行以下命令,确保deployment中仍有5个副本在运行,这里仍是接着上一篇文章来的,如果你这里之前修改过deploy.yaml的文件中replicas的数量,那么请修改回来,重新恢复到5个副本的状态。
kubectl get deployments
扩容副本数量
修改deploy.yaml配置文件中replicas的5到10,
保持文件后,使用kubectl命令使更改生效,deployment控制器观察集群5个副本不符合更改后副本期望数量,于是启动5个新副本,使观察状态和期望状态保持一致。
kubectl apply -f deploy.yml
运行以下命令检查deployment状态和pod数量:
kubectl get deployment qsk-deploy
电脑比较渣,你所看到的只有2个可用,需要等一会。
kubectl get pods
唯一美中不足的是,我只有1个master节点,无法保证pod被分配到其他节点,也就没有所谓的节点的高可用,需要在生产中规避这种做法,这里只是学习参考。
这里你已经将你的应用从5个副本扩容到10个副本,amazing。
应用缩容
使用下面命令,将Pod数量缩减回5个。
kubectl scale --replicas 5 deployment/name
请把上面命令中的name替换为你的deployment名称。
检查pod数量,可以看见部分pod正在终止。
过一会,可以看见pod已经被你手动缩减为5个。
注意事项
如果你是按照我上面的方法扩缩容的话,会造成一个问题,就是虽然现在pod被缩为5个,但是deploy.yaml文件中仍然定义了10个,如果你以后对这个文件进行更改,比如更改新版本的镜像,重新是配置文件生效,副本又被拉回到10个,所以说,你只能选择一种认为比较顺手的做法,要么使用命令CLI,要么编辑yaml文件,这里推荐yaml文件的做法。为了和我们刚刚的操作保持一致,这里请修改deploy.yaml文件把pod的数量修改为5个。现在我们做的还是手动扩缩容的操作,后面可能会讲一下自动的操作,敬请期待:sweat_smile:
发表回复