成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

開源PaaS方案(三)部署BOSH

云計算 PaaS
BOSH是CloudFoundry提供的用來安裝部署和升級CloudFoundry的自動化工具,可是說是CloudFoundry的一部分。總體來說,BOSH是Client/Server結構, BOSH客戶端稱作BOSH CLI,BOSH服務器端由BOSH Director,NATS,HealthMonitor等組件組成。

[[132622]]

BOSH是CloudFoundry提供的用來安裝部署和升級CloudFoundry的自動化工具,可是說是CloudFoundry的一部分。總體來說,BOSH是Client/Server結構, BOSH客戶端稱作BOSH CLI,BOSH服務器端由BOSH Director,NATS,HealthMonitor等組件組成, 詳見http://docs.cloudfoundry.org/bosh/

完整的BOSH是一個分布式的環境,本文為了簡化BOSH的安裝,將BOSH所有的組件安裝在一個虛擬機上,BOSH的這種部署方式稱為MicroBOSH。

將描述如果在CentOS環境下部署BOSH客戶端和在OpenStack環境上部署MicroBOSH工具。

3.1 安裝ruby環境

3.1.1 作者使用rbenv來管理ruby,所以安裝rbenv和ruby 環境 (如果rbenv已經安裝完成或者使用rvm可跳過此步)

  1. # rm -rf $HOME/.rbenv 
  2.  
  3. # git clone git://github.com/sstephenson/rbenv.git $HOME/.rbenv 
  4.  
  5. # git clone https://github.com/sstephenson/ruby-build.git $HOME/.rbenv/plugins/ruby-build 
  6.  
  7. # echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile 
  8.  
  9. # source ~/.bash_profile 
  10.  
  11. # echo 'eval "$(rbenv init -)"' >> ~/.bash_profile 
  12.  
  13. # source ~/.bash_profile 
  14.  
  15. # rbenv install 1.9.3-p551 
  16.  
  17. # rbenv global 1.9.3-p551 

3.1.2 安裝bosh客戶端

  1. rbenv rehash 
  2.  
  3. gem update --system 
  4.  
  5. gem install rake 
  6.  
  7. gem install bosh_cli bosh_cli_plugin_micro --no-ri --no-rdoc 

3.1.3 為安置MicroBosh和CloudFoundry配置SecurityGroup

(1) 創建BOSH security group,允許bosh訪問

  1. # nova secgroup-create bosh "security group for bosh access” 
  2.  
  3. # nova secgroup-add-rule bosh udp 53 53 0.0.0.0/0 
  4.  
  5. # nova secgroup-add-rule bosh tcp 4222 4222 0.0.0.0/0 
  6.  
  7. # nova secgroup-add-rule bosh udp 68 68 0.0.0.0/0 
  8.  
  9. # nova secgroup-add-rule bosh tcp 25555 25555 0.0.0.0/0 
  10.  
  11. # nova secgroup-add-group-rule bosh bosh tcp 1 65535 
  12.  
  13. # nova secgroup-add-rule bosh tcp 6868 6868 0.0.0.0/0 
  14.  
  15. # nova secgroup-add-rule bosh tcp 53 53 0.0.0.0/0 
  16.  
  17. # nova secgroup-add-rule bosh tcp 25250 25250 0.0.0.0/0 
  18.  
  19. # nova secgroup-add-rule bosh tcp 25777 25777 0.0.0.0/0 

(2) 創建security group, 允許SSH 訪問

  1. # nova secgroup-create ssh "security group for ssh access” 
  2.  
  3. # nova secgroup-add-rule ssh icmp -1 -1 0.0.0.0/0 
  4.  
  5. # nova secgroup-add-rule ssh tcp 22 22 0.0.0.0/0 
  6.  
  7. # nova secgroup-add-rule ssh udp 68 68 0.0.0.0/0 

(3) 創建Cloudfoundry內網security group

  1. # nova secgroup-create cf-private "cf internal security group" 
  2.  
  3. # nova secgroup-add-rule cf-private udp 68 68 0.0.0.0/0 
  4.  
  5. # nova secgroup-add-rule cf-private udp 3456 3456 0.0.0.0/0 
  6.  
  7. # nova secgroup-add-group-rule cf-private bosh tcp 1 65535 

(4) 創建CloudFoundry外網訪問security group

  1. # nova secgroup-create cf-public "security group for cloudfoundry public access" 
  2.  
  3. # nova secgroup-add-rule cf-public tcp 443 443 0.0.0.0/0 
  4.  
  5. # nova secgroup-add-rule cf-public udp 68 68 0.0.0.0/0 
  6.  
  7. # nova secgroup-add-rule cf-public tcp 80 80 0.0.0.0/0 

#p#

3.2 部署MicroBosh

3.2.1 創建microbosh keypair

  1. # nova keypair-add microbosh > microbosh.pem 
  2.  
  3. # chmod 400 microbosh.pem 

3.2.2 創建工作目錄

  1. # mkdir -p ~/bosh-workspace/deployments/microbosh 
  2.  
  3. # cd ~/bosh-workspace/deployments/microbosh 

3.2.3 為microbosh創建一個floating ip

  1. # nova floating-ip-create public 
  2.  
  3. +--------------+-----------+----------+--------+ 
  4.  
  5. | Ip | Server Id | Fixed Ip | Pool | 
  6.  
  7. +--------------+-----------+----------+--------+ 
  8.  
  9. 172.24.4.229 | | - | public | 
  10.  
  11. +--------------+-----------+----------+--------+ 

3.2.4 創建并且編輯部署描述文件microbosh.yml

  1. --- 
  2. name: microbosh-openstack 
  3.    
  4. logging:   
  5.   level: DEBUG   
  6.    
  7. network:   
  8.   type: dynamic #內網ip的分配方式 
  9.   vip: 172.24.10.132 #外網浮動ip 
  10.    
  11. resources:   
  12.   persistent_disk: 20000   
  13.   cloud_properties:   
  14.     instance_type: m1.small   
  15.    
  16. cloud:   
  17.   plugin: openstack   
  18.   properties:   
  19.     openstack:   
  20.       auth_url: http://172.24.10.128:5000/v2.0   
  21.       username: demo   
  22.       api_key: openstack   
  23.       tenant: demo   
  24.       default_security_groups: [bosh,ssh]   
  25.       default_key_name: demokey   
  26.       private_key: ~/bosh-workspace/deployments/demokey.pem   
  27.    
  28. apply_spec:   
  29.   properties:   
  30.     director:   
  31.       max_threads: 2 
  32.     hm:   
  33.       resurrector_enabled: true   
  34.     ntp:  
  35.       - time.asia.apple.com 

下面簡單介紹一下此部署文件的含義

* network 描述了Openstack中network的屬性

在筆者的Openstack環境中,網絡為openstack neutron network,所以在內網使用dhcp獲取ip, 因此type為dynamic。cloud_properties中的net_id是可以使用dhcp獲得ip的內網地址,此id可以使用neutron net-list得到

  1. # neutron net-list 
  2.  
  3. +--------------------------------------+---------+--------------------------------------------------+ 
  4.  
  5. | id | name | subnets | 
  6.  
  7. +--------------------------------------+---------+--------------------------------------------------+ 
  8.  
  9. | 0fbe7f27-e732-4954-9134-5486d7617727 | public | 110583d9-a905-428a-a494-3c95e4a6bca6 | 
  10.  
  11. | 9e5a6fd5-fa2e-48da-94ce-f85337bc2451 | private | 052030e6-626a-4a57-b8dc-b8ab239f419d 10.0.0.0/24 | 
  12.  
  13. +--------------------------------------+---------+--------------------------------------------------+ 

為了能夠從外網訪問microbosh,我們需要為bosh director指定一個floating ip, bosh會自動把這個ip關聯到bosh director

* resource描述了為micro bosh director分配多少資源,instance_type定義了此虛擬機的openstack flavor,persistent_disk定義了為此虛擬機掛接多大的***磁盤

* cloud描述了如何訪問openstack,其中大部分內容可以從安裝產生的keystonerc_demo中找到,

  1. # cat $HOME/keystonerc_demo 
  2.  
  3. export OS_USERNAME=demo 
  4.  
  5. export OS_TENANT_NAME=demo 
  6.  
  7. export OS_PASSWORD=73b3b497ca3a42d1 
  8.  
  9. export OS_AUTH_URL=http://:35357/v2.0/ 
  10.  
  11. export PS1='[\u@\h \W(keystone_demo)]\$ ' 

* apply_spec定義了Micro bosh得屬性,這里面我們只需要修改一項,那就是時間服務器的地址, 例如修改為time.asia.apple.com

#p#

3.2.5 下載microbosh的虛擬機模板(stemcell)

(1) 由于GFW的緣故,把下面這句加到/etc/hosts中

54.231.244.8 s3.amazonaws.com

(2) 創建stemcell目錄

  1. # mkdir -p ~/bosh-workspace/stemcells 
  2.  
  3. # cd ~/bosh-workspace/stemcells 

(3) 下載micro bosh的stemcell

  1. # bosh public stemcells | grep -i openstack 
  2.  
  3. | bosh-stemcell-2427-openstack-kvm-ubuntu.tgz | 
  4.  
  5. | bosh-stemcell-2624-openstack-kvm-centos.tgz | 
  6.  
  7. | bosh-stemcell-2624-openstack-kvm-ubuntu-lucid.tgz | 
  8.  
  9. | bosh-stemcell-2749-openstack-kvm-centos-go_agent.tgz | 
  10.  
  11. | bosh-stemcell-2749-openstack-kvm-ubuntu-trusty-go_agent.tgz | 
  12.  
  13. | bosh-stemcell-2652-openstack-kvm-ubuntu-lucid-go_agent.tgz | 
  14.  
  15. | bosh-stemcell-2719.1-openstack-kvm-centos-go_agent.tgz | 
  16.  
  17. | bosh-stemcell-2719.1-openstack-kvm-ubuntu-trusty-go_agent.tgz | 
  18.  
  19. | bosh-stemcell-2719.2-openstack-kvm-centos-go_agent.tgz | 
  20.  
  21. | bosh-stemcell-2719.2-openstack-kvm-ubuntu-trusty-go_agent.tgz | 
  22.  
  23. | bosh-stemcell-2719.3-openstack-kvm-ubuntu-trusty-go_agent.tgz | 
  24.  
  25. # bosh download public stemcell bosh-stemcell-2652-openstack-kvm-ubuntu-lucid-go_agent.tgz 

這個stemcell雖然不是***版,但是筆者驗證通過,更新版本的stemcell筆者沒有嘗試

(4) 部署Micro Bosh

*設置部署描述文件

  1. # cd ~/bosh-workspace/deployments 
  2.  
  3. # bosh micro deployment microbosh 

* 部署Micro Bosh

# bosh micro deploy ~/bosh-workspace/stemcells/bosh-stemcell-2652-openstack-kvm-ubuntu-lucid-go_agent.tgz 執行這一句之后會報錯錯誤信息如下

 

 

 

  1. `/home/roger/.gem/ruby/gems/fog-aws-0.1.2/lib/fog/aws/auto_scaling.rb:4:in `<class:AutoScaling>': uninitialized constant Fog::AWS::CredentialFetcher (NameError) 
  2. from /home/roger/.gem/ruby/gems/fog-aws-0.1.2/lib/fog/aws/auto_scaling.rb:3:in `<module:AWS>' 
  3. from /home/roger/.gem/ruby/gems/fog-aws-0.1.2/lib/fog/aws/auto_scaling.rb:2:in `<module:Fog>' 
  4. from /home/roger/.gem/ruby/gems/fog-aws-0.1.2/lib/fog/aws/auto_scaling.rb:1:in `<top (required)>' 
  5. from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:73:in `require' 
  6. from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:73:in `require' 
  7. from /home/roger/.gem/ruby/gems/fog-1.27.0/lib/fog/aws.rb:2:in `<top (required)>' 
  8. from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:73:in `require' 
  9. from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:73:in `require' 
  10. from /home/roger/.gem/ruby/gems/fog-1.27.0/lib/fog.rb:23:in `<top (required)>' 
  11. from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:73:in `require' 
  12. from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:73:in `require' 
  13. from /home/roger/.gem/ruby/gems/bosh-registry-1.2922.0/lib/bosh/registry.rb:10:in `<top (required)>' 
  14. from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:73:in `require' 
  15. from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:73:in `require' 
  16. from /home/roger/.gem/ruby/gems/bosh-registry-1.2922.0/bin/bosh-registry:3:in `<top (required)>' 
  17. from /home/roger/bin/bosh-registry:23:in `load' 
  18. from /home/roger/bin/bosh-registry:23:in `<main>' 
  19. bosh-registry -c /tmp/d20150414-92091-1rc0vqs/bosh_registry_yml20150414- 92091-9n3izm` failed, exit status=1`` 

 

修改

/home/roger/.gem/ruby/gems/fog-aws-0.1.2/lib/fog/aws/auto_scaling.rb在***行之前加上如下語句

require_relative('.') 問題解決

(5) 驗證Micro Bosh

# bosh target

其中的microbosh ip address是預先申請的floating ip

(6) 使用ssh訪問micro bosh

# ssh -i vcap@

博文地址:http://www.cnblogs.com/yudar/p/4391539.html

責任編輯:Ophira 來源: 博客園
相關推薦

2015-04-24 09:52:32

OpenStackCloudFoundrPaaS

2015-04-24 10:17:44

2015-04-24 11:14:23

OpenStackCloudFoundrPaaS

2015-04-24 10:29:31

OpenStackCloudFoundrPaaS

2015-04-24 09:46:23

OpenStackCloudFoundrPaaS

2014-12-17 09:27:41

開源PaaS

2016-01-04 09:32:12

云部署大數據IaaS

2015-01-09 09:55:11

微軟Azure云平臺PaaS

2015-10-23 09:44:59

PaaS開源云應用

2015-01-15 09:27:17

CloudFoundrPaaS開源

2014-12-24 09:15:54

PaaS開源云服務

2015-10-12 15:00:05

開源PaaSCloudFoundr

2013-10-21 09:42:28

開源OpenStack

2011-05-06 11:55:41

紅帽PaaS

2012-01-16 11:05:22

紅帽PaaS 開源

2012-05-14 10:39:19

2012-10-25 10:16:10

2012-10-29 09:38:03

2014-06-11 17:00:05

Docker開源

2013-05-17 17:01:32

紅帽OpenShifPaaS云
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色综合久久天天综合网 | 午夜免费网 | 日韩欧美成人一区二区三区 | 中文字幕av在线一二三区 | 亚洲午夜在线 | 国产99精品 | 国产精品日韩一区二区 | 国产午夜精品久久久久免费视高清 | 久久久www | 亚洲一区二区不卡在线观看 | 很很干很很日 | 色接久久| 欧美一级二级视频 | 成人欧美一区二区 | 黑人巨大精品欧美黑白配亚洲 | 免费人成激情视频在线观看冫 | 日韩欧美中文字幕在线观看 | 日韩中文字幕在线观看 | 羞羞午夜 | 国产精品久久久久久久久久久免费看 | av片在线播放 | 亚洲综合无码一区二区 | 免费一区二区 | 国产精品一区二区av | 色综合视频 | 97精品国产一区二区三区 | 五月婷婷婷 | av网址在线播放 | 欧美成年黄网站色视频 | 欧美a级成人淫片免费看 | 亚洲综合电影 | 91夜色在线观看 | 欧美成人自拍 | 97国产爽爽爽久久久 | 91免费高清视频 | 免费午夜视频在线观看 | 亚洲一区二区三 | 91精品www | 欧美韩一区二区 | 四虎影院在线观看免费视频 | 欧美 日韩 国产 在线 |