0

因此,我们正在考虑将我们的生产服务器切换到 Kubernetes。现在,它不是很专业,因为它只有一个 nginx 实例。99% 的时间我们的服务器需要每分钟处理大约 30 个请求,这很容易做到。在我们之前确切知道的特定时间,同一秒内可能有 2000 个用户期待服务。这显然太过分了,上次它经常返回 502。Kubernetes Autoscaling 似乎是一个很好的方法。唯一的问题是我们在特定时间需要额外的容器,而不是 30 秒后。

那么有没有办法“手动”缩放?比如告诉 Kubernetes 在 MESZ 晚上 8 点准备 4 个容器,例如?

4

1 回答 1

1

在 Kubernetes 中有多种方法可以自动扩展 Pod。

水平 Pod 自动缩放器

您可以使用Horizo​​ntal Pod Autoscaler根据指标反应性地扩展 Pod。您还可以使用自定义指标。

手动调整副本数

您也可以replicas:Deployment中手动设置数量。这可以通过更改清单以声明方式完成,或者通过使用 kubectl 强制完成

kubectl scale deployment my-app --replicas=5

使用 CronJob 调整副本数

您还可以使用带有kubectl -image 的 Kubernetes CronJob,它执行上述命令以在特定时间扩大副本数量。

使用 Knative Serving Autoscaler 自动缩放每个请求

使用 Knative Serving 时,您可以使用Knative Service Autoscaler根据请求数量进行扩展。

于 2021-04-24T06:57:48.440 回答