如何更新K8s Deployment增加副本数以应对流量突增?
调整Kubernetes Deployment副本数的标准操作
首选业内通用方案:kubectl scale 命令
这是专门为工作负载扩缩容设计的命令,也是生产环境调整副本数的标准选择,不需要修改本地配置文件、不需要交互式操作,不会误改Deployment的其他配置,风险极低。
你只需要执行以下命令即可将副本数调整为目标值(示例调整为3副本,可自行替换为需要的数量):
kubectl scale deployment/mage-di --replicas=3
执行完成后可以通过kubectl get pods -l app=mage-di查看新Pod的启动进度。
其他可选方案及适用场景
如果你有特殊需求,也可以选择以下方式实现扩缩容:
- 修改本地配置文件后执行
kubectl apply:如果你需要把副本数的改动固化到配置文件、用Git等工具管理配置版本,可以先修改本地k8-deployment.yaml中spec.replicas字段的值,再执行kubectl apply -f k8-deployment.yaml,改动可追溯,适合基础设施即代码的管理场景。 kubectl patch命令修改:如果需要在自动化脚本中实现扩缩容,可以用patch命令直接修改对应字段,示例命令:kubectl patch deployment mage-di -p '{"spec":{"replicas":3}}'kubectl edit交互式修改:不推荐新手使用,操作过程中容易误改Deployment的其他配置字段,仅建议需要同时修改多个配置项时使用。rollout命令用于管理Deployment的发布、回滚流程,不适合用来调整副本数,无需考虑。
补充说明:只要是合法修改Deployment的
spec.replicas字段,Kubernetes的Deployment控制器都会自动感知配置变更,按照目标副本数自动调度创建新Pod或者销毁多余Pod,不需要额外操作触发。
内容的提问来源于stack exchange,提问作者Alana Storm
相关产品推荐
相关产品推荐

