通过分析实操题来学习、巩固cka中的考点。本次的重点是用Scale命令扩展一个应用的实例数。
题目
将CKA 备考 - 1 - 建立一个Deloyment并显示状态中建立的Pod的运行实例数扩展到5个, 完成后检查 Deployment 的 Rollout 状态和检查Pod的运行状态。
解题思路
核心概念
本题的核心就是考kubernetes的应用伸缩能力。为方便对应用的处理能力进行横向伸缩,kubernetes提供了scale命令,该命令提供了手动对Deployment、ReplicaSet、Replication Controller或 Job 进行横向伸缩的功能。执行后具体的效果就是对应的Pod数量增加或减少(相对于执行scale命令之前)。
相关命令
本题需要熟练掌握的命令是 kubectl scale, 具体的参数不用记,通过 help 可以现场查看,例如:
1 | kubectl scale --help |
系统将显示
1 | Set a new size for a deployment, replica set, replication controller, or stateful set. |
解题步骤
在本题中,我们使用扩展 deployment 的方法,执行
1 | kubectl scale --replicas=5 deployment/my-dep |
my-dep 是在 CKA 备考 - 1 - 建立一个Deloyment并显示状态 练习中建立的 Deployment。
执行后系统显示
1 | deployment.apps/my-dep scaled |
现在,查看Pod列表系统显示类似如下的信息:
1 | NAME READY STATUS RESTARTS AGE |
可以看到对应的Pod数量已经增加到5个。
再查看rollout状态
1 | kubectl rollout status deployment/my-dep |
或是查看rollout版本
1 | kubectl rollout history deployment/my-dep |
通过观察可以看到,伸缩应用不会影响rollout的状态