如何解决收到HTTP请求时如何在Kubernetes集群中执行Docker映像
我有一些docker映像,我想在收到http请求时在Kubernetes集群中运行它们。
我该怎么做?例如,我将需要创建一个烧瓶应用程序,该应用程序将侦听请求,然后在收到请求时执行bash命令以从注册表中部署并运行这些映像?
还是有另一种简单的方法来实现这一目标?
解决方法
如果您有Flask应用程序,则可以使用Kubernetes python api创建Kubernetes容器或作业。他们有一个基于here创建部署yaml file that exists的示例,但是您也可以在代码中定义yaml或使用their api spec。下面是他们的“部署”示例,但同样,您可能想要使用Pod或Jobs。
from os import path
import yaml
from kubernetes import client,config
def main():
# Configs can be set in Configuration class directly or using helper
# utility. If no argument provided,the config will be loaded from
# default location.
config.load_kube_config()
with open(path.join(path.dirname(__file__),"nginx-deployment.yaml")) as f:
dep = yaml.safe_load(f)
k8s_apps_v1 = client.AppsV1Api()
resp = k8s_apps_v1.create_namespaced_deployment(
body=dep,namespace="default")
print("Deployment created. status='%s'" % resp.metadata.name)
if __name__ == '__main__':
main()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。