设为首页 收藏本站
查看: 1204|回复: 0

[经验分享] 基于openstack上的MICRO BOSH 安装cf

[复制链接]

尚未签到

发表于 2016-1-9 10:40:48 | 显示全部楼层 |阅读模式
bosh部署3要素
1. manifest
2. release包
3. stemcell
如何获得?
创建manifest
用spiff生成manifest
spiff下载地址:
https://github.com/cloudfoundry-incubator/spiff/releases
在cf-release根目录
修改spec/fixtures/openstack/cf-stub.yml中的配置
运行./generate_deployment_manifest openstack cf-stub.yml > cf.yml
资源
cf-release下载
https://github.com/cloudfoundry-community/community-shared-boshreleases
stemcell下载
http://bosh-artifacts.cfapps.io/file_collections?type=stemcells
cf-release版本和stemcell,bosh版本对应关系查询
https://github.com/cloudfoundry-community/cf-docs-contrib/wiki/v187
部署
1. 上传release
$ bosh upload release cf-release
验证:
$ bosh releases
+---------------------+------------+-------------+
| Name | Versions | Commit Hash |
+---------------------+------------+-------------+
| cf | 169 | ae04d8ba+ |
+---------------------+------------+-------------+
   




 2. 上传stemcell
bosh upload stemcell 
验证:
$ bosh stemcells
+------------------------------------+---------+--------------------------------------+
| Name | Version | CID |
+------------------------------------+---------+--------------------------------------+
| bosh-openstack-kvm-centos-go_agent | 2748 | 0a4da153-4878-4cd4-8451-6ddefe7f6e34 |
3.部署
$ bosh deployment cf.yml
$ bosh deploy
部署完成后
1. 所有DEA节点的cc api域名需解析到内部网络
例如:/etc/hosts 加入:10.60.31.112 api.ae2.demo
不然,dea上传droplet会报错。
问题排查
上传stemcell不能调用CPI
Director task 2
Error 100: Unable to connect to the OpenStack Compute API. Check task debug log for details.

原因:microbosh不能访问openstack cc
解决:
在microbosh的机器里,/etc/hosts 加上:
172.16.40.14    cc14.ae2
超过cpu核配置限制
E, [2014-10-10T03:34:37.945276 #6683] [create_vm(decb786a-0cdc-4eca-8827-17e5bb1d1fcb, ...)] ERROR -- : OpenStack API Request Entity Too Large error. Check task debug log f
or details.
E, [2014-10-10T03:34:37.945342 #6683] [create_vm(decb786a-0cdc-4eca-8827-17e5bb1d1fcb, ...)] ERROR -- : Expected([200, 202]) <=> Actual(413 Request Entity Too Large)
response => #<Excon::Response:0x007f7e942384e8 @data={:body=>"{\"overLimit\": {\"message\": \"Quota exceeded for cores: Requested 2, but already used 49 of 50 cores\", \"
code\": 413, \"retryAfter\": \"0\"}}", :headers=>{"Retry-After"=>"0", "Content-Length"=>"132", "Content-Type"=>"application/json; charset=UTF-8", "X-Compute-Request-Id"=>"r
eq-fd2272b6-d749-4b9f-bd8d-e2b6792ed988", "Date"=>"Fri, 10 Oct 2014 03:34:39 GMT"}, :status=>413, :remote_ip=>"172.16.40.14"}, @body="{\"overLimit\": {\"message\": \"Quota 
exceeded for cores: Requested 2, but already used 49 of 50 cores\", \"code\": 413, \"retryAfter\": \"0\"}}", @headers={"Retry-After"=>"0", "Content-Length"=>"132", "Content
-Type"=>"application/json; charset=UTF-8", "X-Compute-Request-Id"=>"req-fd2272b6-d749-4b9f-bd8d-e2b6792ed988", "Date"=>"Fri, 10 Oct 2014 03:34:39 GMT"}, @status=413, @remot
e_ip="172.16.40.14"> (Excon::Errors::RequestEntityTooLarge)

修改/etc/nova.conf
quota_cores=-1 # 无限制
get_state超时
Director task 29
Started preparing deployment
Started preparing deployment > Binding deployment. Done (00:00:00)
Started preparing deployment > Binding releases. Done (00:00:00)
Started preparing deployment > Binding existing deployment. Failed: Timed out sending `get_state' to 65941315-33fb-446c-af36-cef368e7e62d after 45 seconds (00:02:15)

Error 450002: Timed out sending `get_state' to 65941315-33fb-446c-af36-cef368e7e62d after 45 seconds
用bosh cck命令删除vm reference,每次都选3
3. Delete VM reference (DANGEROUS!)
创建虚机失败
| fault | {"message": "No valid host was found. ", "code": 500, "details": " File \"/usr/lib/python2.6/site-packages/nova/scheduler/filter_scheduler.py\", line 107, in schedule_run_instance |
| | raise exception.NoValidHost(reason=\"\") |
| | ", "created": "2014-10-11T06:16:43Z"}

nova日志/var/log/nova/scheduler.log:
raise exception.PortLimitExceeded()
网卡超过限制
neutron port-list
修改/etc/neutron/neutron.conf
quota_port = -1
编译失败
错误:
Compile failed
解决办法:
a. 编译
用stemcell创建一个虚机,上传release包到该虚机,解压,运行编译失败模块包里的packging脚本,查看具体错误,解决编译错误,一般是第三方依赖不满足。
b.重新打包
重新打包依赖包和模块包,计算该包的sha1sum,并用base64编码,替换release.MF中该模块的sha1sum,重新打包整个release包:cf-xxx.tgz
c. 重新上传release包
bosh upload release cf-xxx.tgz
 
上传stemcell时报SchemaValidationError错
Director task 1
Error 100: Invalid OpenStack cloud properties: #<Membrane::SchemaValidationError: { openstack => { api_key => Expected instance of String, given an instance of Fixnum } }>

解决办法:
进入micro bosh虚拟机
a. 修改director配置
vi /var/vcap/jobs/director/config/director.yml.erb
api_key: 123456  =>  api_key: '123456'
注意是修改director.yml.erb文件,
b. 重启director服务
bosh/bin/monit restart director
你会发现/var/vcap/jobs/director/config/director.yml已经被修改。
c. 重新上传stemcell。
 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-162110-1-1.html 上篇帖子: OpenStack块存储nova-volume工作机制和相关问题 下篇帖子: Openstack中虚拟机的Resize功能详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表