云代工厂液滴和监狱容器有什么区别?Droplet只是一个.zip包,所有需要在warden容器中执行和安装吗?据我所知,是暂存过程的输出,但应用程序实际启动并运行的位置在哪里?我很欣赏DAE和staging的vizualized生命周期.
当新应用程序或新版本的应用程序被推送到Cloud Foundry时,Cloud Controller会从可用DEA池中选择DEA(Droplet Execution Agent)来暂存应用程序.DEA使用适当的构建包来分阶段应用程序.此过程的结果是一个Droplet,它是Cloud Foundry中的一个存档,其中包含准备在DEA上运行的应用程序.一旦液滴准备就绪,它将需要在合适的环境中托管.在Cloud Foundry中,这称为Warden容器. Warden提供了一个用于管理容器集合的服务,并为客户端定义了一个协议,用于向服务器发送请求和从服务器接收响应.Cloud Foundry部署中的每个DEA主机都运行Warden服务,该服务管理cgroup,命名空间,进程生命周期,并提供有关主机和每个容器状态的遥测.
在这里,您可以找到表示应用程序暂存过程的序列图.
所以基本上一个应用程序实例由一个Droplet和一个Warden容器组成.DEA将不断向健康管理器广播应用程序实例运行状况,该管理器内部与云控制器通信.请求通过云控制器发送到DEA.