在实际生产系统中,我们经常会遇到某个服务需要扩容的场景,也可能会遇到由于资源紧张或者工作负载降低而需要减少服务实例数的场景。此时我们可以利用命令 kubectl scale rc 来完成这些任务。以 redis-slave Rc 为例,已定义的最初副本数为2 ,通过执行下面的命令将 redis-slave RC 控制的 Pod 副本数量从初始的 2 更新为 3:
$ kubectl scale rc redis-slave --replicas=3
scaled
执行 kubectl get pods 命令来验证 Pod 的副本数量增加到3:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
redis-slave-1 1/1 Running 0 1m
redis-slave-2 1/1 Running 0 1m
redis-slave-3 1/1 Running 0 1m
将 --replicas 设置为比当前 Pod 副本数量更小的数字,系统将会 “杀掉” 一些运行中的 Pod,即可实现应用集群缩容。
$ kubectl scale rc redis-slave --replicas=1
scaled
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
redis-slave-1 1/1 Running 0 1m