如何 Scale Up/Down Deployment?— Kubernetes(13)

in #kubernetes7 years ago (edited)

伸缩是指在线增加或减少 Pod 的副本数。
Deployment nginx-deployment 初始是两个副本。

621.png

k8s-node1k8s-node2 上各跑了一个副本。现在修改 nginx.yml,将副本改成 5 个。

622.png

再次执行 kubectl apply

623.png

三个新副本被创建并调度到 k8s-node1k8s-node2 上。

出于安全考虑,默认配置下 Kubernetes 不会将 Pod 调度到 Master 节点。如果希望将 k8s-master 也当作 Node 使用,可以执行如下命令:

kubectl taint node k8s-master node-role.kubernetes.io/master-

如果要恢复 Master Only 状态,执行如下命令:

kubectl taint node k8s-master node-role.kubernetes.io/master="":NoSchedule

接下来修改配置文件,将副本数减少为 3 个,重新执行 kubectl apply

624.png

可以看到两个副本被删除,最终保留了 3 个副本。

下一节我们学习 Deployment 的 Failover。

Sort:  

scale down 是随机的么?还是有一定的policy可供选择?

目前没法指定 policy,k8s自己会判断

请问下它一般根据什么来判断呢,哪些运行参数之类的?