CloudFoundry 是否支持每个应用程序多个容器?

Does CloudFoundry support multiple containers per app?

A Kubernetes Pod and an AWS ECS Task Definition 都支持多个不同的容器镜像:pod/task 的每个实例都会 运行 所有镜像一起作为容器。

CloudFoundry 是否支持类似的概念以允许包含多个独立进程的应用程序?

实际上,CloudFoundry 有一个基于 Kubernetes 的容器编排工具社区项目,因此它将接受 pods 与 Kubernetes 相同的方式。

您可以阅读更多相关信息here

CloudFoundry 也有一个 CF Application Runtime,这几乎是他们的 PaaS,允许您部署应用程序 Heroku 风格,在引擎盖下 运行 为 'containers'。从文档中不清楚什么类型的容器,但我想你可以通过阅读代码找到更多信息,但这并没有暴露给用户,也没有暴露为 Pods.

Pivotal现在提供PAS——Pivotal Application Service,也就是传统的PaaS。

作为开发人员,我 cf push 我的存档,平台创建容器,Diego Orchestrator 运行 我的应用程序。是的,我可以 运行 我的应用程序的多个实例。

PKS - Pivotal Container Service(酷孩子用 'K' 拼写),是 Pivotal 的 Kubernetes 实现。它是 CaaS——容器即服务。作为一名开发人员,我创建了自己的容器 - docker 容器,或者供应商为我提供了一个容器,并且 PKS 运行 在 PKS 集群内的 POD 中对容器进行了 PKS。

下一个来自 Pivotal 的产品是 PFS - Pivotal Functional Service,在未来 3 到 6 个月的某个时候。它是 Pivotal 的功能即服务实施。作为开发人员,我可以创建一个函数并将其部署到 PFS。我必须确定此功能的触发器,PFS 将基于此启动该功能的新实例,并在完成后销毁它。

你如何使用什么取决于你的用例。

deck 是为了在 Dallas Cloud Native Meetup 的最后一次 session 上进行的演示。 Parth 在简化和解释差异以及如何选择方面做得很好。希望你能访问它。看一看。

tl;dr

没有。每个应用程序实例只能 运行 一个容器。

更长的答案

大多数答案很快就会将您指向 PKS,但 Cloud Foundry 本身不在其中。

Cloud Foundry 运行 通过 Diego 的每个应用程序。每个应用程序 运行 作为 diego-cell 上的独立容器。这与您认为的 Kubernetes Pods 或并置容器组不同。

Cloud Foundry 允许您 运行 每个容器的多个实例,但我相信这与您的要求不同。

解决方法

您可能无法 运行 多个容器,但可以 运行 多个进程。有关此示例,请查看 CF-FaaS runs. It uses the CF-Space-Security 如何在并置方案中处理。