目标

  • 使用 kubectl 伸缩应用程序

应用程序伸缩

在之前的模块中,我们创建了一个 Deployment,然后通过 Service让应用程序外部可见。 Deployment 仅为我们的应用程序创建了一个 Pod。 当流量增加时,我们将需要扩展应用程序以跟上用户需求。

Scaling 是通过更改 Deployment 中的副本数量实现的。

摘要:

  • Deployment 的伸缩

您可以使用 kubectl run 命令的 --replicas 参数,在创建 Deployment 时指定多个实例。


Scaling 概述


扩展 Deployment 将确保创建新的 Pods 并将其调度到拥有可用资源的 Node 节点上,收缩会保证 Pods 数量减少至新的所需状态。 Kubernetes 还支持 Pods 的 自动缩放 ,但不在本教程范围之内。收缩到零也是可以的,此时它将终止指定 Deployment 的所有 Pod。

运行应用程序的多个实例需要一种将流量分发给所有实例的方法。服务有内置的负载均衡器,可将网络流量分配给 Deployment 暴露的所有 Pods。服务通过使用 endpoints 持续监控运行的 Pods,以确保流量仅发送到可用的 Pods。

通过更改 Deployment 中的副本数可以实现伸缩应用程序。


一旦您有应用程序的多个实例,您将能够滚动更新,而不会停止服务,我们将在下一个模块中介绍这些。现在,我们去在线终端对我们的应用程序进行伸缩。