在centos7 ubuntu15.04 上通过bosh-lite 搭建单机环境cloudfoundry

Bosh-lite简介

参考文献  http://tqcto.com/article/system/261.html

bosh-lite 是一个单机部署cloudfoundry的实验性工具,用于开发人员做poc 验证。Bosh-lite目前支持仅MAC OS X和Linux系统。Bosh-lite使用Vagrant管理虚拟机,所以目前只支持VirtualBox和VMWare Fusion (MAC OS X)虚拟机平台。

如下图所示,Bosh客户端CLI运行在宿主机(HOST OS)上,通过Bosh CLI,我们可以把Bosh和Cloud Foundry的各个component部署在VirtualBox的虚拟机上,Bosh和CloudFoundry的各个Component,例如UAA,Router等,都是运行在Warden容器(Warden Container)中。

2, 环境准备

笔者采用的事Cent OS 7.0 与 ubuntu 15.04 作为宿主机的操作系统,vmware 作为虚拟平台。 centos7 与 ubuntu15.04 都是装在vmware中的虚拟机。 必须将vmware 中的Inetl VT-X 打开,因为vagrant的box是64位,如果不打开VT-X 作为provide 的virtualbox 无法运行64位镜像。 设置方法vmware 选中虚拟机,然后在菜单中选中虚拟机菜单,在虚拟机设置中选择处理器设置,在右边打开VT-X选项

2.1 安装软件包

centos 准备内容

# rpm -Uvh http://mirror.pnl.gov/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

# yum install -y vim git screen kernel* libX11 qt SDL SDL-devel libxml2-devel libvpx libpng libXt libXmu libxslt libxslt-devel openssl openssl-devel libXcursor libXinerama qt qt-devel wget gcc unzip ntpdate net-tools

ubuntu 15.04 准备内容

sudo apt-get install build-essential libxml2-dev libsqlite3-dev libxslt1-dev libpq-dev libmysqlclient-dev

2.2 安装Ruby环境

笔者使用rbenv来安装和管理ruby

  1. $ git clone git://github.com/sstephenson/rbenv.git $HOME/.rbenv
  2. $ git clone https://github.com/sstephenson/ruby-build.git $HOME/.rbenv/plugins/ruby-build
  3. $ echo ‘export PATH="$HOME/.rbenv/bin:$PATH"‘ >> ~/.bash_profile
  4. $ echo ‘eval "$(rbenv init -)"‘ >> ~/.bash_profile
  5. $ source ~/.bash_profile
  6. $ rbenv install 2.1.3
  7. $ rbenv global 2.1.3
  8. $ gem sources --remove https://rubygems.org/
  9. $ gem sources -a https://ruby.taobao.org/
  10. $ gem sources -l
  11. $ gem install bundle
  12. $ gem install nokogiri -- --use-system-libraries

2.3安装Vagrant

centos 安装方法

  1. # wget  https://dl.bintray.com/mitchellh/vagrant/vagrant_1.7.2_x86_64.rpm
  2. # rpm -Uvh vagrant_1.7.2_x86_64.rpm

ubuntu 安装方法


1

sudo apt-get install vagrant -y

  

验证vagrant

  1. # vagrant --version
  2. Vagrant 1.6.3

2.4 安装VirtualBox

centos 安装方法

  1. # wget http://download.virtualbox.org/virtualbox/4.3.26/VirtualBox-4.3-4.3.26_98988_el7-1.x86_64.rpm
  2. # # 安装virtualbox时需要linux kernel的源代码,设置KERN_DIR环境变量指示kernel源代码路径
  3. # export KERN_DIR=/usr/src/kernels/3.10.0-229.4.2.el7.x86_64
  4. # rpm -Uvh VirtualBox-4.3-4.3.26_98988_el7-1.x86_64.rpm

ubuntu 安装方法

sudo apt-get install virtualbox -y

验证virtualbox是否安装成功

  1. # VBoxManage --version
  2. 4.3.14r95030

3, 部署CloudFoundry

3.1 安装Bosh CLI

  1. # gem install bosh_cli

3.2 安装manifest merge工具

  1. # wget https://github.com/cloudfoundry-incubator/spiff/releases/download/v1.0.3/spiff_linux_amd64.zip
  2. # unzip spiff_linux_amd64.zip -d /usr/bin

3.3 Checkout bosh-lite和cf-release

bosh-lite和cf-release这两个代码库必须放在同一级目录下

  1. # mkdir ~/workspace
  2. # cd ~/workspace
  3. # git clone https://github.com/cloudfoundry/bosh-lite
  4. # git clone https://github.com/cloudfoundry/cf-release

3.4 启动VirtualBox虚拟机

  1. # cd ~/workspace/bosh-lite
  2. # vagrant up --provider=virtualbox

在这里可能会遇到如下错误。这个错误有两个原因,一个是VT-X 没打开,这是最大的可能。另一个可能就是vmware 虚拟机的资源不够。修改vmware 虚拟机的内存和CPU 资源。(笔者使用的9G 内存 4CPU 分配给centos7 或者ubuntu 15.04),这个vagrant的资源可以调整,在 bosh-lite/template/vagrant-local-tpl 中。

出现上述错误console, 在对应的GUI 界面启动virtualbox错误如下图

遇到上述错误之后,需要删除以前的vagrant的虚拟机,重新启动。

vagrant halt

vagrant destroy

vagrant up

启动成功后可以运行下面的命令去查看虚拟机的状态

  1. # vagrant global-status

启动后的vagrant box 虚拟机配置了两块网卡,一块用来连接CloudFoundry网络,使用10.244.0.0/19;一块用来和宿主机通信,使用IP 192.168.50.4

因此在宿主机centos7 或者ubuntu150.4 需要添加访问CloudFoundry网络的路由。这两个ip的配置一个在 bosh-lite/template/vagrant-local.tpl中。bosh-lite 本人也有addrout.sh addroute.bat 这个命令。

  1. # route add -net 10.244.0.0/19 gw 192.168.50.4

3.5部署CloudFoundry

如果配置了HTTP或者HTTPS的代理,请先运行下面这条命令

  1. export no_proxy=192.168.50.4,xip.io

3.5.1把bosh指向当前的bosh-lite的Director

  1. # bosh target 192.168.50.4 lite

这里login的用户名密码为

用户名:admin

密码: admin

查看bosh的状态

  1. # bosh status
  2. Config
  3. /root/.bosh_config
  4. Director
  5. Name Bosh Lite Director
  6. URL https://192.168.50.4:25555
  7. Version 1.2811.0 (00000000)
  8. User admin
  9. UUID c6f166bd-ddac-4f7d-9c57-d11c6ad5133b
  10. CPI vsphere
  11. dns disabled
  12. compiled_package_cache enabled (provider: local)
  13. snapshots enabled
  14. Deployment
  15. not set

Bosh-lite提供了一个脚本,可以一键式部署CloudFoundry

  1. # cd ~/workspace/bosh-lite
  2. # bin/provision_cf

检验CloudFoundry是否部署成功

  1. # bosh vms
  2. Deployment `cf-warden‘
  3. Director task 9
  4. Task 9 done
  5. +------------------------------------+---------+---------------+--------------+
  6. | Job/index | State | Resource Pool | IPs |
  7. +------------------------------------+---------+---------------+--------------+
  8. | api_z1/0 | running | large_z1 | 10.244.0.134 |
  9. | etcd_z1/0 | running | medium_z1 | 10.244.0.42 |
  10. | ha_proxy_z1/0 | running | router_z1 | 10.244.0.34 |
  11. | hm9000_z1/0 | running | medium_z1 | 10.244.0.138 |
  12. | loggregator_trafficcontroller_z1/0 | running | small_z1 | 10.244.0.146 |
  13. | loggregator_z1/0 | running | medium_z1 | 10.244.0.142 |
  14. | nats_z1/0 | running | medium_z1 | 10.244.0.6 |
  15. | postgres_z1/0 | running | medium_z1 | 10.244.0.30 |
  16. | router_z1/0 | running | router_z1 | 10.244.0.22 |
  17. | runner_z1/0 | running | runner_z1 | 10.244.0.26 |
  18. | uaa_z1/0 | running | medium_z1 | 10.244.0.130 |
  19. +------------------------------------+---------+---------------+--------------+
  20. VMs total: 11

参考文献  http://tqcto.com/article/system/261.html

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-08 20:53:15

在centos7 ubuntu15.04 上通过bosh-lite 搭建单机环境cloudfoundry的相关文章

Ubuntu15.04上部署python3.4+django1.8.8+mysql5.7+uwsgi+nginx

经过无数的百度,花了一天的时间,艰难的把django项目给部署到了Ubuntu15.04上.废话少说了,直接贴上部署步骤: 一.python安装 1.www.python.org下载 如下载的为 Python-3.4.3.tar.xz 2.解压: [email protected]:/home/dodo/Downloads/# xz -d  Python-3.4.3.tar.xz命令后得到Python-3.4.3.tar [email protected]:/home/dodo/Download

Window上python 开发--1.搭建开发环境

其实在开发python最好在ubuntu环境下,简单也便于扩展各个package.但是我的linux的电脑暂时不在身边.还的我老婆的电脑win7没办法啊. 由于python的跨平台性.在windows下和ubuntu下基本上没什么差别.下面从几个不步骤来搭建开发环境. 下载安装python.2.6. python有2.6的版本和3.x版本,建议还是使用python-2.6.x 版本,因为python的各大框架都支持2.6版本,但是不支持3.x版本. 例如简介并且功能强大的webpy 就不支持3.

Centos7+Apache2.4+php5.6+mysql5.5搭建Lamp环境——为了wordPress

最近想搭建个人博客玩玩,挑来挑去发现口碑不错的博客程序是wordpress,简称wp.虽然是学java路线的程序员,但因入行时间太短,至今没有发现较为称手开源的博客程序,如果各位大神有好的推荐,也希望能在评论中告知. 先上一张效果图: WordPress WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当作一个内容管理系统(CMS)来使用. 它的原版是英文的,不过也支持中文版的,据用过的哥们说,

Cura源码在Ubuntu15.04上编译脚本(成功)

Cura是著名的3D打印切片和控制软件.新的版本采用Qt和Python进行了重构,界面变化也非常大,目前还在开发中,运行问题还有不少.这里介绍如何从源代码进行Cura的编译,可以抢先体验新版的界面设计和根据需要进行订制. 这个把相关的脚本都集成到一起了.做了几个重要的改进,基本可以成功运行了. 官方原脚本在这里:https://github.com/Ultimaker/cura-build 主要的改进包括: 1.可以自动判断目录,如没有自动创建,如有则进行源码更新.原脚本安装后更新需要手工一步步

{折腾}8192cu在Ubuntu15.04上的安装

Realtek官网的驱动Install不过,遂找了修改版的8192cu驱动(第一次重启没反应,后半部分再操作一遍,重启后,能用了). 操作如下: Installation Ensure you have the necessary prerequisites installed: sudo apt-get update sudo apt-get install git linux-headers-generic build-essential dkms Clone this repository

ubuntu12.04上live555+v4l2+ffmpeg+x264开发环境的搭建

我把可能会用到的主要资源上传到度盘: http://pan.baidu.com/s/1i38AleP ubuntu上安装主要步骤就是解压.configure.make.sudo make install live555的安装可以看这里: http://www.live555.com/liveMedia/#config-unix libx264的安装则是直接解压.然后configure.make和sudo make install,configure命令如下 ./configure --disab

【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程

原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一直很给力的,但这次让我伤心欲绝啊. 关于Linux(ubuntu14.04)上编译Android源码的环境搭建详细过程都是在sublime text中编辑好的,无奈,这次的数据丢失让我不得不重新来回想手打一次了.可能很多细节问题,这次重新编辑文章时不会记得那么清晰了,还请有问题的朋友在下面留言给我就

U盘制作Ubuntu15.04启动盘失败

先用ubuntu15.04光盘在已有xp的电脑上安装成功? 随后在Ubuntu安装labview说glibc没安装? 但是ldd --version显示是安装的新版的? 后来怀疑是86_64的原因? 用软碟通做了usb启动的ubuntu15.04 386版本? 启动失败syslinux引导失败? 然后在快捷启动中专门制作启动引导还是不行? 换了universal usb driver 制作启动还是不行? 几乎要放弃了但是还是不能放弃? 这样倒来倒去做系统启动真的很煎熬? 让我想起去恢复一个破碎的

Ubuntu15.04安装samba

1.安装所需组件sudo apt-get install samba sudo apt-get install cifs-utils sudo apt-get install samba-common 2.创建共享文件mkdir /home/xxx/share sudo chmod 777 share/ 3.备份以及修改配置文件sudo cp /etc/samba/smb.conf  /etc/samba/smb.conf.bak sudo gedit /etc/samba/smb.conf 在