Kubernetes—停止pod

kubectl scale

kubectl scale用于横向扩展,扩容或缩容 Deployment、ReplicaSet、Replication Controller或Job 中Pod数量。

scale可以指定多个前提条件,如:当前副本数量–current-replicas或资源版本–resource-version,进行伸缩比例设置前,系统会先验证前提条件是否成立。

例如,将mysql的副本数设置为3。

1
2
3
# kubectl get pod
NAME READY STATUS RESTARTS AGE
mysql-5fb6c74b86-d9qzg 1/1 Running 0 9m

1
2
# kubectl scale --replicas=3 deploy/mysql
deployment.extensions/mysql scaled
1
2
3
4
5
# kubectl get pod
NAME READY STATUS RESTARTS AGE
mysql-5fb6c74b86-4nr59 1/1 Running 0 3s
mysql-5fb6c74b86-d9qzg 1/1 Running 0 10m
mysql-5fb6c74b86-gwn9r 1/1 Running 0 3s

或者,将由“mysql-deploy.yaml”配置文件中指定的资源对象和名称标识的pod副本数设为2。

1
2
# kubectl scale --replicas=2 -f mysql-deploy.yaml
deployment.apps/mysql scaled
1
2
3
4
# kubectl get pod
NAME READY STATUS RESTARTS AGE
mysql-5fb6c74b86-d9qzg 1/1 Running 0 14m
mysql-5fb6c74b86-gwn9r 1/1 Running 0 4m

如果要删除或停止所有pod,则可以把副本数置为0。

1
2
3
4
5
//不使用xxx.yaml文件
kubectl scale --replicas=0 deploy/mysql

//使用xxx.yaml文件
kubectl scale --replicas=0 -f mysql-deploy.yaml

------ 本文完 ------