cloud foundry warden模块的一些知识点
来源:互联网 发布:淘宝拍卖房 编辑:程序博客网 时间:2024/06/02 01:27
在cloud foundry中,应用实际是运行在container中的,可以将container理解为一个虚拟的操作系统,里面包含了应用运行所需要的基本资源,包括cpu、磁盘、内存、网络以及应用运行所需的runtime,每个应用运行于自己的container中,从而实现了物理资源的隔离。
warden本身是可以单独运行的,其项目源代码在:https://github.com/cloudfoundry/warden,安装过程也很简单,参考:
https://github.com/cloudfoundry/warden/blob/master/warden/doc/getting_started.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模块的一些知识点
- cloud foundry warden容器
- Cloud Foundry中warden的架构与实现
- Cloud Foundry 源码解析一览(warden)
- Cloud Foundry warden container 安全性探讨
- Cloud foundry warden源码学习(1)
- Cloud foundry warden 源码学习(2)
- Cloud foundry warden 源码学习(3)
- Cloud foundry warden 源码学习(4)
- Cloud Foundry中warden的网络设计实现——iptable规则配置
- Cloud Foundry 的坑
- cloud foundry的组件
- Cloud Foundry中DEA与warden通信完成应用端口监听
- Cloud Foundry
- Cloud Foundry
- Iron Foundry和Cloud Foundry的那些事
- Iron Foundry和Cloud Foundry的vcap对比
- 新鲜出炉的Cloud foundry应用
- wikioi 1259 最大正方形子矩阵
- test
- POJ 2567 Code the Tree & POJ 2568 Decode the Tree Prufer序列
- 【完整版】七千字长文揭秘万达电商
- ASIHTTPRequest功能实现 需要添加libz1.2.5
- cloud foundry warden模块的一些知识点
- 英语学习之沪江整理 20141031
- java排序
- C#深拷贝与浅拷贝
- java Random类详解
- 14个开发者必备工具
- pipeline-filter模式变体之尾循环
- 奋斗成就人生
- 【Android界面实现】可旋转的汽车3D模型效果的实现