cloudfoundry v2 单机离线安装部署

https://github.com/yudai/cf_nise_installer上下载安装CloudFoundry,通过博客上的2个命令就可以安装了,不要什么技术含量,需要的只是时间,慢慢等吧,我当时花了3个半小时才下完,遇到没反应的时候,不要着急,不是出现错误,是在下载和安装一群东西。

这样安装是不是太费时,又无聊?下面介绍一种快点的安装方法,前提是你已经下过一遍并且有cf的包了。废话不说,开始吧。

在github上下载完了之后,会在/var/vcap/目录下有cf的各个组件启动的脚本在jobs目录下,以及cf的包在packages下,所需要的就是这2个东西,也是cf的下载的核心东西。有了这2个东西之后就可以在另外一台机器上开始进行部署了,不需要花几个小时再去下载和安装那些东西了。

1.      将packages和jobs拷贝到另外一台的/var/vcap目录下

2.      替换jobs下的所有IP成该台机器的ip(或者事先将ip改好之后再拷贝到另一台机器上):

         包括\jobs\cloud_controller_ng\config\下的cloud_controller_ng.yml和syslog_forwarder.conf

         jobs\gorouter\config\  syslog_forwarder.conf   gorouter.yml等等

        所有文件中的ip都要替换,包括脚本中的ip比如

        jobs/nats_stream_forwarder/bin下的nats_stream_forwarder_ctl脚本中的ip也要替换

       将monit.user文件拷贝到/var/vcap/monit(没有就创建)文件夹下

3.      如果jobs目录下的各个组件的bin目录下启动脚本没有执行权限,要加执行权限

         例如:chmod +x cloud_controller_jobs_ctl

4. 加ruby环境变量:export PATH=/var/vcap/packages/ruby/bin:$PATH

之后就可以尝试开始启动脚本了。


但是启动脚本时可能遇到的错误如下:

启动cloud_controller_jobs_ctl组件:


安装git daemon,apt-get install git-daemon-run来解决chpst这个命令没找到错误

 

启动gorouter组件:

setcap: commond not found安装libcap2-bin    命令:apt-get installlibcap2-bin

 

cc组件:libexslt.so.0:cannot open shared object file


安装sudo apt-get install libxslt1-dev

 

cloud_controller_ng组件启动不起来,libmysqlclient_r.so.16:cannot open shared object file


安装:apt-get install libmysqlclient16-dev

 

启动数据库postgress报错:

添加用户vcap和vcap用户组,将vcap加入到vcap组中去

groupadd vcap                                                                  //创建用户组vcap

useradd -g vcap vcap                                             //创建用户vcap并加入到vcap用户组中去

passwd vcap                                                            //设置vcap用户的密码

 

启动nats_stream_forwarder报错,将nats_stream_forwarder.rb改成可执行文件

chmod  +x  nats_stream_forwarder.rb


差不多这么些问题过后,cf的各个组件就都能启动起来了。

但是别happy的太早,组件是启动起来了,但是push一个app到cf中去呢?不行,仍然会出现问题。我碰到的一些问题记录如下。

在cf push的时候遇到问题:

Upload failed. Try again with 'cf push'.
CFoundry::BadResponse: :

安装依赖包:

apt-get install -f -y --force-yes--no-install-recommends\

build-essential libssl-dev lsof \

strace bind9-host dnsutils tcpdumpiputils-arping\

curl wget libcurl3 libcurl3-dev bisonlibreadline6-dev\

libxml2 libxml2-dev libxslt1.1libxslt1-dev zip unzip\

nfs-common flex psmisc apparmor-utilsiptables sysstat\

rsync openssh-server traceroutelibncurses5-dev quota\

libaio1 gdb tripwire libcap2-binlibyaml-dev


cf push 的时候会碰到死机的问题,在uploading droplet的时候死机,动不了,只能重启了,之后认真回去看github上的cf_nise_installer的安装,发现少安装了linux-image-virtual-lts-backport-oneiric linux-headers-virtual-lts-backport-oneiric这2个东西

安装下面2个包并重启(切记要重启,这个搞了我老半天,装完之后push app一直不成功,还死机,结果重启就好了,泪奔):apt-get install -y  linux-image-virtual-lts-backport-oneiric linux-headers-virtual-lts-backport-oneiric。

之后问题解决。


PS:为了方便管理,也可以安装monit来监控cf,下面来介绍一下。

安装monit来监控Cloudfoundry

1.      wget  http://mmonit.com/monit/dist/monit-5.2.4.tar.gz

2.      tar monit-5.2.4.tar.gz

3.      cd monit-5.2.4.tar.gz

4.      ./configure  --prefix=/var/vcap/bosh  --without-ssl

(安装过程的错误参考博文http://www.2cto.com/os/201107/97717.html)

5.      make

6.      make install

7.      复制配置文件monitrc到/var/vcap/bosh /etc/目录下,修改该配置文件如下:

setdaemon 10

setlogfile /var/vcap/monit/monit.log 

set httpdport 2822 and use address 127.0.0.1

  allow cleartext/var/vcap/monit/monit.user 

include/var/vcap/jobs/nats/0006_micro_ng.nats.monitrc

include /var/vcap/jobs/dea_next/0000_micro_ng.dea_next.monitrc

include/var/vcap/jobs/nats_stream_forwarder/0005_micro_ng.nats_stream_forwarder.monitrc

include/var/vcap/jobs/postgres/0000_micro.postgres.monitrc

include/var/vcap/jobs/uaa/0003_micro_ng.uaa.monitrc

include/var/vcap/jobs/gorouter/0001_micro_ng.gorouter.monitrc

include /var/vcap/jobs/cloud_controller_ng/0002_micro_ng.cloud_controller_ng.monitrc

include/var/vcap/jobs/hm9000/0004_micro_ng.hm9000.monitrc 

PS:include的文件是各个组件的启动顺序,更改可能导致逐渐启动不起来,可以查看日志(位于sys/log/下)同时,将monit.user文件拷贝到/var/vcap/monit/目录下

8.      启动monit:./usr/local/bin/monit 

9.      启动:用./usr/local/bin/monit  start all命令将所有组件启动起来(第一次启动较慢)

10.   查看:./usr/local/bin/monit  summary


显示所有组件已经启动起来了。


组件启动起来之后,安装cf Command Line Tool,具体参考http://docs.cloudfoundry.com/docs/dotcom/getting-started.html这篇文档。

首先装好Ruby,然后运行gem install cf来安装cf。安装好之后可以用cf命令来连接到之前搭建好的cloudfoundry机器上。

具体见下图,email默认为admin,password默认为c1oudc0w。



这样比傻瓜似的复制粘贴那2行命令然后无聊的等几个小时快多了。


由于下载的一些软件依赖包比较多,可以尝试把那些软件依赖包做成本地源,这样就更快了。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值