kubernetes延迟部署

问题描述 投票:0回答:2

我有一个申请A和申请B

应用B并不总是需要的,而且运行起来可能会很繁重,所以我们通常要减少应用B的数量。

那么有没有办法将应用Bwait的部署延迟到收到应用A的请求后再启动应用B呢?

我最初看的是kubernetes job,但它似乎总是在任务完成后被打开并重新启动.任何想法?

kubernetes kubernetes-jobs
2个回答
2
投票

我用了一段时间前 节点这是一个基于Kubernetes的无服务器解决方案。说实话,我并不喜欢它,因为当时它使用的资源太多。但那是knative 0.3,现在0.14已经有了。

所以,用knative你创建了一个部署,而这个部署可以被缩放为0,直到对这个后端(pod)提出请求。当有请求的时候,它就会扩展到1,如果请求太多,自然会扩展到更多。如果没有请求,在一定时间后,它将缩减到0,似乎是你要找的。

Fritz的回答是正确的。你可以配置一个pod有足够的权限在集群中创建资源,但我个人不会这么做。使用knative,你只需要做一个http请求,它就可以扩展。


0
投票

在实践中,你所建议的是很可能的。你需要给你的Pod添加足够的RBAC权限,例如

https:/itnext.iorunning-kubectl-commands-from-within-a-pod-b303e8176088。

然后,你必须使用一个API来发送部署到API服务器上,例如

例如: https:/github.comkubernetes-clientjava。

话虽如此,但设置起来并不简单,让这个Application在后台运行而不请求资源可能会更容易。

© www.soinside.com 2019 - 2024. All rights reserved.