资讯专栏INFORMATION COLUMN

云计算之美—单节点部署CloudFoundry方法

Salamander / 683人阅读

摘要:执行后,开始启动,最终出现下图就说明成功了共启动了个模块。需要两个文件和一个文件夹我在我的机子上找到这些文件,分别拷贝到相应的目录,就了。安装完后,执行上面的步骤都执行下,出现图中的信息,说明安装成功了,现在就可以在上面部署应用了。

作者:egg

博客:http://blog.csdn.net/zhangerqing(转载请说明出处)

一、环境需求

官方系统环境要求:

Setup a VM with a pristine Ubuntu 10.04 Server 64-bit image

Setup your VM with 1G or more of memory

要求是server版的,但是我们实验装的是desktop版的,也能正常运行。

注意:千万不要在不符合环境的机器上安装,否则会尝尽苦头,各种问题,而且适合cloudfoundry无关的,很多都是一些系统库缺失,所以,一定要选择ubuntu10.04 64bit。虽然最终也能安装成功,但是大大浪费时间!

二、步骤

步骤很简单,不需要我们做太多,因为cloudfoundry自带安装脚本,我们只需要执行就行了,先安装curl工具:

sudo apt-get install curl

接下来执行:

bash < <(curl -s -k -B  https://raw.github.com/cloudfoundry/vcap/master/dev_setup/bin/vcap_dev_setup)

系统会自动开始download所需的一切,中间会遇到一些地方需要输入密码,所以在安装开始后,需要经常盯着,不过这个安装过程比较耗时,下载完还有很多需要编译的东西,所以就算是很顺利,完全没有报错,也得三个小时,但是我安装的几次都是多于三个小时,因为中途总会有一些问题。

三、可能遇到的问题及解决办法及注意事项

可能会报下面错误而停止:

1、Giving up. Cannot connect to the web. Check your proxy settings if you are behind a proxy.

2、Error executing action `install` on resource "gem_package[sinatra]"

3、Error executing action `install` on resource "gem_package[rack]"

4、Error executing action `create` on resource "deployment_remote_file[/var/cache/dev_setup/rabbitmq-server-with-plugins-generic-unix-2.8.7.tar.gz]"

....

统一的解决方法:重新执行

bash < <(curl -s -k -B https://raw.github.com/cloudfoundry/vcap/master/dev_setup/bin/vcap_dev_setup)

原因是ruby的源rubygems.org被托管于amazons EC2(有人这样说),所有有时会被墙,但是只要碰到问题,重新执行上面的安装脚本就行。不用担心重新执行会完全重新开始,有些下载过的或者已经编译过的东西,就不会再去重复执行了。

5、Processing deployment_remote_file[/var/cache/dev_setup/otp_src_R14B01.tar.gz] action create (erlang::default line 12)

Error executing action `create` on resource "deployment_remote_file[/var/cache/dev_setup/otp_src_R14B01.tar.gz]"

这个是我遇到的一个手动解决的问题,是我重复执行上述脚本后仍然不能解决的问题,根据上下文描述,这个过程是将otp_src_R14B01.tar.gz文件部署到/var/cache/dev_setup/下,后来我在自己的机子上找到该文件,发现足足64M,怪不得会timeout,估计是因为网络环境,我之前成功安装过三次,都没有遇到这个问题。所以我手动将otp_src_R14B01.tar.gz拷贝到了/var/cache/dev_setup/下,重新执行上述那个安装脚本,最后成功了。

6、如果最初执行安装脚本的时候用的是root权限(sudo方式),那么在以后使用的时候,启动或者停止cloudfoundry都需要root权限,其实安装的时候并不需要root权限,普通的./执行就OK了,所以我们为了方便,就别用sudo方式安装了。

7、默认的安装路径在当前用户的根路径下,安装完在根路径下会出现cloudfoundry文件夹。

最后安装完,如果显示:


就说明安装成功了!

切换到用户目录下的:cloudfoundry/vcap/dev_setup/bin目录下,执行:./vcap_dev start即可启动cloudfoundry了,同样除了start还有stop、restart等命令。执行./vcap_dev start 后,开始启动,最终出现下图:就说明成功了!


共启动了18个模块。

四、vmc的安装

安装完后,需要安装vmc,直接:gem install vmc,会报错:

就是关于vmc0.4.7依赖multi_json1.4.0的问题,默认在执行gem install vmc时,会先安装multi_json这个包,但是安装的是1.5.0,所以我们需要删除1.5.0版本的,安装1.4.0的。需要两个文件和一个文件夹:

我在我的机子上找到这些文件,分别拷贝到相应的目录,就OK了。

multi_json-1.4.0对应放在/usr/lib/ruby/gems/1.8/gems下

multi_json-1.4.0.gemspec放在/usr/lib/ruby/gems/1.8/specifications下

multi_json-1.4.0.gem放在/usr/lib/ruby/gems/1.8/cache下

基本没有问题了,继续执行gem install vmc就可以了。

有时候网络不稳定还会报下面的错:

ERROR:  http://rubygems.org/ does not appear to be a repository

ERROR:  could not find gem vmc locally or in a repository

重新执行,直到完成安装。

安装完vmc后,执行:vmc target api.vcap.me


上面的步骤都执行下,出现图中的信息,说明安装成功了,现在就可以在上面部署应用了。

五、在其他机子上执行已经安装好的镜像

启动虚拟机后,start cloudfoundry,但是发现,只有cloud controller模块不能启动,其他的都能起。问题原因:cloudfoundry里面的很多配置文件都将ip写死了。在~/cloudfoundry/.deployment/devbox/config下的很多文件中,都将ip直接写在文件里。

解决办法:

1、修改上述文件夹里的所有需要修改的文件,这个比较费工夫,不过用sed脚本也快。

2、设置虚拟机里的ip为初始环境的ip,需要修改虚拟机的/etc/network/下的interfaces文件,在里面增加网卡对应的ip等信息,我将interfaces文件的内容改为:

这样,cloudfoundry就可以完全启动了。但是,这样手动更改了虚拟机里的ip会造成虚拟机不能访问网络。因此我们需要去vmware workstation里修改信息,使外网和内网映射好。在Edit->Virtual Network Settings里面的NAT标签里设置成一致的就行了。此时,我们既可以正常启动cloudfoundry,也可以访问网络。

注意:

如果我们使用vmware player的话,是没有办法设置网络的,所以,上面的操作,需要使用workstation,我在操作的过程中还遇到一个问题,就是我开始用vmware player 9.0,所以当我将镜像导出后,在VMware Workstation 6.0 上无法打开,只能进行镜像转换,这里用到官方提供的一个工具:VMware vCenter Converter Standalone Client,将9.0的镜像直接转换成6.0的。

六、远程访问

因为我们目前是将cloudfoundry安装在虚拟机里的,虚拟机里是静态ip,没法通过SSH工具访问,所以我们需要做端口重定向,来保证大家都可以使用,具体步骤比较简单:

Edit->Virtual Network Settings->NAT->Edit->Port Forwarding->Add一个就行了,输入主机端口、虚机ip、虚机端口就行了。接下来就可以通过SSH工具访问了。

(如果虚拟机改成桥接模式,则无需重定向,因为虚机里也可以分配到动态IP,这样的话,想让cloudfoundry跑起来困难了,需要去修改很多地方的IP)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/4015.html

相关文章

  • 深入 Cloud Foundry(上)

    引子 今年4月份,VMware突然发布了业内第一个开源的PaaS——CloudFoundry。几个关键字:开源、PaaS、VMware,如果你对云计算感兴趣,就冲着它的ApacheV2协议,如果不去GitHub拿它的代码好好研读一下,真有点对不起自己。笔者当时就是以这样的心态去研究它的代码,并把它部署在我们labs里面。发布至今的这几个月里,笔者一直关注它的演进,并从它的架构设计中获益良多,...

    XiNGRZ 评论0 收藏0
  • 深入Cloud Foundry(下)

    续与回顾 本文第一部分介绍了CloudFoundry的整体架构,并在最后花了一点篇幅简介CloudFoundry的代码组织情况,以便于读者自己去研究源代码。笔者认为开源项目较大的好处在于:当你读懂源代码、理解总体架构后,能够成竹在胸,并吸收为己用(有点类似武侠小说中的北冥神功)。为己用就是本篇要说的内容:我们使用CloudFoundry搭建自己的私有PaaS平台。 在介绍CloudFoundry之...

    qylost 评论0 收藏0
  • 计算时代的数据库 Amazon Aurora成就数据之美

    摘要:在科技业,时代变迁带来的剧变同样十分明显,从传统时代到云计算时代,数据不再只是沉睡的宝藏,数据库的作用和价值正变得尤为突出。真因为如此,顺应云计算时代而生的成为公司历史上发展最快的服务,在过去两年间,通过其数据库迁移服务迁移了超过个数据库。19世纪,爱马仕还是一家专门制作各种精美马具的作坊,但到了20世纪,汽车逐渐取代马车,爱马仕不得不从马具转向皮具,从而成就了这一世界级奢侈品品牌;1975...

    renweihub 评论0 收藏0
  • 新版CloudFoundry揭秘

    摘要:上面主要是将新的多了些什么。在新版本的设计中,他们使用脚本来代替原先的脚本。可以看到在新的架构中多出了很多组件。他究竟是如何操作的呢首先,我们必须准备好系统例如。当刚刚推出的时候,包含了应用运行时启动,停止等简单命令。 CloudFoundry距离发布已经一年多了。在这一年里CloudFoundry不论是社区还是代码日臻成熟,拥有了众多合作伙伴。现在他迈开了更大的脚步,新的CloudFou...

    tianlai 评论0 收藏0
  • Spring Boot 参考指南(部署

    摘要:第章部署应用程序的灵活打包选项在部署应用程序时提供了大量的选择,你可以将应用程序部署到各种云平台容器映像例如或虚拟真实机器上。本节介绍一些更常见的部署场景。 第VI章. 部署 Spring Boot 应用程序 Spring Boot的灵活打包选项在部署应用程序时提供了大量的选择,你可以将Spring Boot应用程序部署到各种云平台、容器映像(例如Docker)或虚拟/真实机器上。 本...

    learning 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<