我是Cloud Foundry/Bosh的新手,并且有一系列基本问题.
1)Droplet vs Garden容器:我知道Droplet包含源代码+构建包,这些小滴在garden容器中执行.恕我直言,集装箱很好运输到其他系统.为什么会出现液滴的中间概念?他们的容器应该不会产生液滴吗?
2)迭戈细胞:迭戈细胞的作用是什么(我认为它的工作只是启动/停止花园容器)?迭戈细胞平台是否依赖(例如,特定细胞只能运行windows-garden或其他可以运行linux-garden容器)?我们每个容器需要一个细胞吗?
3)在Diego cell的描述中,我读到" 每个应用程序VM都有一个Diego Cell,它在本地执行应用程序启动和停止操作,管理VM的容器,并将应用程序状态和其他数据报告给BBS和Loggregator. "什么是应用程序VM提到这里?这是不是意味着容器?
4)让我们假设,我使用Bosh创建我的云代工实例.一段时间后,我需要将我的系统扩展到两个VM(由于负载增加).我是否需要为第二个VM创建一个新的Manifest(因为早期的清单也将在此VM上部署整个CF)?
一个容器是,粗略地说,根文件系统映像连同像资源限制和关于如何安装卷的元数据有些事情,要运行什么程序等
Garden是用于创建和运行容器规范的API.任何人都可以编写实现Garden API的服务器,核心Cloud Foundry团队维护garden-linux,garden-runC和garden-windows实现.
甲液滴是从被典型地安装或流成园容器中,然后运行的源代码创建的"内置"伪影.有时您不需要单独的Droplet,并希望将根文件系统以及所有源代码和/或构建的工件烘焙到单个映像中.但是,通常,您确实需要在代表您的代码的Droplet和根文件系统之间进行此分隔.一个主要的好处是,大多数容器常见的低级依赖关系中的CVE可以在Cloud Foundry平台上的所有租户和所有正在运行的应用程序上统一修复,而无需任何开发人员重新推送其代码.例如,如果需要新的补丁openssl,并且您的Cloud Foundry安装有数千个开发人员和数十万个运行Garden容器,那么如果操作员可以openssl使用单个命令将补丁推广到所有容器,那将会好得多.
该迭戈细胞是一个VM这就是Cloud Foundry的架构的一部分.Cloud Foundry本身是一个分布式系统,具有负责不同事物的不同组件.有一个组件负责用户授权和身份验证,有一些组件用于聚合来自应用程序的日志,还有一个组件负责提供面向开发人员的API,用于创建,扩展和管理应用程序等.Diego单元基本上负责接受请求运行容器化工作负载并运行它们.用户运行应用程序的请求由面向用户的API使用,并转换为对Diego后端的请求.Diego本身有几个组件,包括调度程序,调度程序的工作是选择执行给定工作的单元.
你可以把电池已经有两个组成部分:(1)运行的容器一个花园的服务器,和(2)代表可以代表园服务器向Diego调度,所以不是花园有任何迭戈-特定的知识(花园可以以独立的方式运行),调度程序会在同一个单元格中与每个Garden的Diego代表进行对话.
我不确定你提取的报价中的"应用程序虚拟机"是什么意思.在Cloud Foundry上运行的每个应用程序都可以使用多个并行实例运行(用于容错,更好的并发等).每个应用程序实例都在一些Diego单元格中作为Garden容器运行.Cloud Foundry的生产部署将拥有许多Diego单元.每个单元可以运行许多(最多数百个)Garden容器.为了获得更好的容错能力,Diego调度程序将尝试将给定应用程序的实例放在不同的Diego单元格上,而不是将它们全部塞进同一个单元格中,因为如果单个单元格出现故障,则整个应用程序都会关闭.
您无需创建新清单来扩展BOSH部署.只需更改instances要拥有更多虚拟机的任何作业/实例组的值,然后重新运行bosh deploy.
| 归档时间: |
|
| 查看次数: |
2629 次 |
| 最近记录: |