我们使用cf push
下面清单文件推一个Java应用程序在Cloud Foundry
applications:
- name: xyz-api
instances: 1
memory: 1G
buildpack: java_buildpack_offline
path: target/xyz-api-0.1-SNAPSHOT.jar
我的理解是,PAAS(例如:云铸造)是IAAS之上的一层(例如:托管的vCenter Linux和Windows虚拟机)。
在清单文件,buildpack
只是谈到运行一个应用程序需要用户空间运行时库。
从非云背景的,而阅读本清单文件,我想了解...
1)如何理解操作系统(OS)的环境中,一个应用程序正在运行?哪种操作系统?
2)如何应用从搬运工容器不同波什实例上运行?
1)如何理解操作系统(OS)的环境中,一个应用程序正在运行?哪种操作系统?
堆栈决定操作系统上的程序将会运行。有一个在清单中包含stack
属性,也可以使用cf push -s
指示堆栈。
您可以运行cf stacks
看到所有可用的堆栈。
在写作的时候大多数环境中,你将有cflinuxfs2
。这是Ubuntu的忠实的14.04。它将由cflinuxfs3
这是Ubuntu的18.04仿生被替换,因为忠实的只有通过2019年四月支持你总会有一些cflinuxfs*
堆栈不过,这取决于当你读到这篇文章的数量只会改变。
在某些环境中,可能还需要一个基于Windows的堆栈。最初的基于Windows的堆栈windows2012r2
。这是很老,因为我写这篇文章,所以你可能不会看到它了。你很可能看到的是windows2016
或可能根据的东西,当你读这甚至上更新。
如果您需要更多的控制,可以随时按下一个码头工人的容器。这将让你选择的完整的操作系统形象,为您的应用程序。
2)如何应用从搬运工容器不同波什实例上运行?
Cloud Foundry上运行的应用程序不被部署BOSH直接。该应用程序在一个容器中运行。该容器被安排和迭戈运行。迭戈是部署的VM一句空话。所以这是在有额外的层。
在核心,运行您在Cloud Foundry上的应用程序,并在泊坞窗容器中运行的应用程序之间的差异是最小的。他们都在其中有一定的局限性由内核命名空间和cgroup的穿上它在Linux的“容器”中运行。
所不同的是在一个)。你如何建立的容器和b)容器是如何部署。
随着Cloud Foundry上,你不建的容器。您提供您的应用程序,以CF和CF建立了基于选择的堆栈和buildpacks添加额外的软件在容器图像。在CF术语的输出被称为“水滴”,但它基本上是一个OCI图像(这将是更因此与buildpacks V3)。当您需要升级或添加新的代码,您只要重复这一过程,并再次推。堆栈和buildpacks,这是由平台自动更新,将依次为您提供补丁和跟上时代的应用图像。
随着泊坞窗,可以手动创建你的形象是从头开始还是从一些可信的基础形象建设起来。您添加自己的运行环境和应用程序代码。当你需要升级,这是您在从基础图像和运行时间或更糟糕的更新拉来更新您从划伤图像。
当涉及到部署,CF自动处理这一切为您服务。它可以运行任意数量的您的应用程序的实例,你想与它会自动将那些使你的应用是有弹性的,以在基础设施及在故障CF.
随着多克,这是你或越来越经常像Kubernetes一些其他的工具。
希望帮助!