我目前正在尝试为Openshift中的应用程序部署后端服务API,后者需要具有可扩展性,以便每个请求都必须在新的pod中运行。
服务需要5分钟才能满足单一要求。我必须服务700次。
有没有办法可以创建700个pod来提供700请求,并在所有请求完成后将其缩小到1?
应用程序启动:1个pod < - 700个请求
服务:700 pod每人一个请求
申请结束:1个吊舱
Kubernetes中的自动缩放依赖于指标。据我所知,Openshift支持CPU and Memory utilization。
但我认为这不是你想要的。
我想你应该关注Jobs - Run to Completion。
每个请求都会产生一个新的Job
,它将一直运行直到它完成。
例:
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
backoffLimit: 4
这将运行一个将π计算到2000个位置并将其打印出来的作业。