开发者社区> 问答> 正文

在Kubernetes中自动生成Pod

k8s小能手 2018-12-29 15:57:25 692

我之前创建了一个使用Docker Python SDK生成Docker容器的Flask服务器。当客户端命中特定端点时,服务器将生成容器。它将维护队列,并且能够杀死不响应请求的容器。

我想迁移到Kubernetes,但我开始认为我当前的服务器将无法像在docker中一样自动“生成”作为pod的工作。

docker.from_env().containers.run('alpine', 'echo hello world')
Docker Swarm是一个更好的解决方案,还是在Kubernetes中有一个隐藏的做法?Kubernetes Python API是否是自动生成pod和作业的逻辑解决方案,其中Flask服务器是管理集群中其他pod的pod?

Kubernetes API 开发工具 Docker Python Perl 容器
分享到
取消 提交回答
全部回答(1)
  • k8s小能手
    2019-07-17 23:24:09

    Kubectl run'很像'docker run',因为它会创建一个带有基于docker镜像的容器的Pod(例如,如何从Kubernetes pod中运行curl命令)。有关更多比较,请参阅https://kubernetes.io/docs/reference/kubectl/docker-cli-to-kubectl/。但是你使用k8s运行的是包含容器而不是直接运行容器的Pod / Jobs,这将为你增加额外的复杂性。

    Kubernetes更多的是关于协调服务而不是短期工作。它具有一些功能,可用于运行作业,但这不是它的核心焦点。如果你正朝着那个方向前进,你可能想要看看knative(和knative build)或kubeless,因为你所描述的听起来就像无服务器的概念。或者,如果您正在考虑更多关于乔布斯,那么也许是旅(https://brigade.sh)。(有关更多信息,请参阅https://www.quora.com/Is-Kubernetes-suited-for-long-running-batch-jobs)如果您希望运行提供请求的Web应用程序工作负载,请注意您不需要杀死无法响应k8s的容器,因为k8s将监视并重启它们。

    我不知道swarm足以比较。我怀疑它对你来说会更容易,因为它更专注于docker(k8s API旨在支持其他运行时),但也许其他人可以对此发表评论。无论是使用swarm还是帮助你,我都会猜测取决于你的动机。

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题