Cloudfoundry 实践进阶


1 保证容器不被销毁---定位app打包、运行失败等问题
$ vim /var/vcap/packages/warden/warden/root/linux/destroy.sh #修改warden脚本
# 在"if [-f $target/destroy.sh]"前加"exit 0"

此方法不用重启warden、dea进程

2 确保容器健康检查成功 ---app启动超时、失败等问题
$ cd /var/vcap/data/warden/depot  #cd到容器目录下
$ ls -At | head -n1      #第一个为对应容器handle
$ cat ./snapshot.json | grep ports #查找容器内部监听的端口
$ ./bin/wsh       #登陆到容器内部
$ python -m SimpleHTTPServer $(本应监听的端口)  #确保检查通过,得快速
3 容器内手动打包应用droplet---定位app打包失败
$ vi /var/vcap/packages/dea_next/lib/dea/staging/staging_task_workspace.rb
#在"File.open(plugin_config_path,'w'){|f|YAML.dump(plugin_config,f)}"后添加
`FileUtils.cp(plugin_config_path,"/var/vcap/data/dea_next/admin_buildpackes/plugin_config")`
$ monit restart dea #重启dea进程
$ #注释掉销毁容器代码
$ #登陆到容器,执行
$ /usr/bin/ruby /var/vcap/packages/dea_next/buildpacks/bin/run/ /var/vcap/data/dea_next/admin_buildpacks/plugin_config
4 监听NATS消息---定位消息流程的必备方法
$ #选择一台安装过nats gem包的环境比如dea、uaa所在的机器;
$ #dea
$ cd /var/vcap/packages/dea_next/vendor/bundle/ruby/1.9.1/gems/nats-0.5.0.beta.16/
$ /var/vcap/packages/ruby/bin/bundle exec ./bin/nats-sub 'router.register' -s nats://nats:c1oudc0w@$(NATS_IP):$(NATS_PORT) #监听"router.register"消息内容
5 快速定位打包应用所在的dea
$ #监听“staing.*.start“消息主题,方法如上
6 查询dea上容器个数
$ curl router:c1oudc0w@$(ROUTER_IP):$(ROUTER_STATUS_PORT)/routes | python -mjson.tool | grep $(DEA_IP) | wc -l # 要减一个1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值