自动增加副本数



我在一台机器上运行 Docker Swarm 中的服务。这是我为部署服务所做的:

docker swarm init
docker stack deploy -c docker-compose.yml MyApplication

docker-compose.yml 的内容:

version: "3"
services:
web:
image: myimage:1.0
ports:
- "9000:80"
- "9001:443"
deploy:
replicas: 3
resources:
limits:
cpus: "0.5"
memory: 256M
restart_policy:
condition: on-failure

Docker Swarm 是否能够根据当前流量自动增加副本数量?如果是,如何配置它?如果没有,我该如何实现它,也许使用 Kubernetes?

根据 Pod 的 CPU 利用率,可以自动扩展部署。您需要使用kubectl autoscale命令,该命令将创建一个 HorizontalPodAutoscaler 对象,该对象以指定的资源为目标,并根据需要对其进行缩放。HPA 会定期调整缩放目标的副本数,以匹配您指定的平均 CPU 利用率。

使用kubectl autoscale时,需要为应用程序指定最大和最小副本数,以及 CPU 利用率目标。

请看以下示例:要将最大副本数设置为 5,最小副本数设置为 2,CPU 利用率目标为 60%,请运行以下命令:

$ kubectl autoscale deployment my-app --max 5 --min 2 --cpu-percent 60

请在文档和以下文章中找到有关它的更多信息。我希望它能帮助你。

最新更新