cloud foundry warden模块的一些知识点

编程入门 行业动态 更新时间:2024-10-25 22:24:33

cloud foundry warden模块的一些<a href=https://www.elefans.com/category/jswz/34/1770093.html style=知识点"/>

cloud foundry warden模块的一些知识点

         在cloud foundry中,应用实际是运行在container中的,可以将container理解为一个虚拟的操作系统,里面包含了应用运行所需要的基本资源,包括cpu、磁盘、内存、网络以及应用运行所需的runtime,每个应用运行于自己的container中,从而实现了物理资源的隔离。

         warden本身是可以单独运行的,其项目源代码在:,安装过程也很简单,参考:

.ubuntu.md,安装完成后可以直接在命令行客户端对warden进行操作,help可以列出所有可执行命令,"command" --help可以查看该命令的具体使用方法,一些操作命令:

1、create 

      用于创建container,执行完成后会返回一个handle,是cantainer的标识。create 有个--bind_mounts选项,使用方式为 

create --bind_mounts[0].src_path "宿主机路径" --bind_mounts[0].dst_path "container的路径" --bind_mounts[0].mode "RW或者RO" ,一直觉得这个选项应该是实现container和宿主机之间的文件映射的,但是实际操作过程中除了在container内dst_path指定的路径创建对应的文件夹外,并不能实现文件共享,而在完整的cf环境中bind_mounts的两个路径都是droplet所在的位置(是不是这样指定了之后就能直接将dea或者cc上的droplet共享到container内,然后解压实现部署?),具体实现什么功能,后续还得看代码。

----------11.17更新,bind_mounts选项的确可以实现宿主机和container之间的文件共享,在创建完成的continer根目录下,执行./bin/wsh即可查看


2、还有一些命令,如copy_in, copy_out, run, spawn等,理解起来都不是很难,按照help提示即可,值得一提的是,在完整的cf平台中,dea也是通过获取warden client来给warden server发送命令来完成对container的操作。

3、warden client 和warden server之间的通信使用的是beefcake, beefcake是google开源项目protobuff的ruby支持库,用于根据protobuff规范生成对应的数据序列化以及解析代码

4、应用部署完成并成功启动后会生成一个container,位于/tmp/warden/container目录下,每个container由两部分组成,只读部分位于/var/vcap/packages/rootfs_lucid64,时个          精简的64位ubuntu系统,可以使用chroot .进入该系统做定制,可读写部分部分由warden提供,还有部分是在执行过程中动态生成的。

5、对于创建完成的container,切换至tmp/warden/containers/"handle"下,执行./bin/wsh即可以root用户进入container,可以查看完整的container系统。


         

更多推荐

cloud foundry warden模块的一些知识点

本文发布于:2024-02-14 11:59:48,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1763291.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:知识点   模块   cloud   foundry   warden

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!