我目前正在尝试在Openshift中为我的应用程序部署后端服务API,该API需要具有可伸缩性,以便每个请求都必须在新的pod中运行。
服务将需要5分钟才能满足单个请求。 我必须打700次服务。
有没有一种方法可以创建700个容器来满足700个请求,并在所有请求完成后将其缩小为1个?
应用程序启动: 1个窗格<-700个请求
服务: 700个Pod,每个请求一个请求
应用程序结束: 1个豆荚
答案 0 :(得分:0)
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个位置并将其打印出来的作业。