2
回答
求cloudify入门教程
注册华为云得mate10,2.9折抢先购!>>>   
求各类cloudify教程、资料,谢谢!
举报
viso8888
发帖于4年前 2回/1K+阅
共有2个答案 最后回答: 3年前
《手把手安装Cloudify 3.1》


1, 准备环境ubuntu 12.04 LTS:
为了方便,我在linode里找一个小机器,最小配置,1G内存的那种,一个月只要10美刀。就现在的情况下,选东京机房速度要快一点。在早上的时候ping值相对比较小一些。最近几天申请东京机器的时候,有可能遇到分配不到的情况,可能是生意太好,只能是多试几次了。我最后把Cloudify3.1 CLI, 加上Cloudify Manager,再加它那个MongoDB加上Node.js的应用实例一起安装在一个1G内存的机器里。最后证明是可以成功,但是到最后一步的时候,的确变得很慢;所以还是建议有2G以上的内存。


如果是Cloudify 3.1版本,还是推荐ubuntu 12.04 precise,有试过14.04版本安装Cloudify 3.1,会提示报错。
如果是Cloudify 3.2以上版本,推荐14.04,因为manager只有Docker安装一个选项,虽然理论上您也可能自已升内核。


root@localhost :~# cat /etc/issue
Ubuntu 12.04.4 LTS \n \l


root@localhost :~# uname -a
Linux localhost 3.19.1-x86_64-linode53 #1 SMP Tue Mar 10 15:30:28 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux


2, 添加用户和更新组件安装
不要对用户添加指定group,好象有一个组件会产生问题,为啥我也正在研究中:
useradd gary -d /home/gary -m -s /bin/bash


在sudoers里添加内容,以便有sudo功能:
vi /etc/sudoers
gary ALL=(ALL) NOPASSWD: ALL


然后更新组件安装 (个人感觉cd ~比cd更清楚一些):
su gary
cd ~
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install openjdk-7-jdk


virtualenv是一个python的沙箱环境,对于Cloudify是必备件:
sudo apt-get install python-virtualenv && sudo apt-get install python2.7-dev && sudo apt-get install git


3, 准备ssh用的key文件
sudo apt-get install openssh-client
/usr/bin/ssh-keygen -t rsa 


在.ssh目录把key文件添加一下
cd ~/.ssh && cat id_rsa.pub >> authorized_keys && cd ~


4, 创建python的一个沙盒环境
virtualenv cfy3.1


然后激活它:
source cfy3.1/bin/activate


这个时候which python命令将会出现以下:
which python
(cfy3.1)gary@hostname:~$ which python
/home/gary/cfy3.1/bin/python


5, Cloudify CLI的安装
开始安装Cloudify命令行:
pip install cloudify==3.1


查看一下CLI版本号:
(cfy3.1)gary@li538-77:~$ cfy --version
Cloudify CLI 3.1.0     (build: 85, date: )




6, bootstrap Cloudify manager
git clone https://github.com/cloudify-cosmo/cloudify-manager-blueprints
cd cloudify-manager-blueprints


注意CLI版本与Manager一致性,不然的话对于3.1以后版本会出错。
git tag -l
git checkout 3.1


初始化cloudify本地工作目录,以安装插件,单机环境下主要是会去安装cloudify-fabric-plugin
cd ~ && cfy init
cfy local install-plugins -p cloudify-manager-blueprints/simple/simple.yaml


7, 更改inputs.json文件,在3.2以后json文件已更改成yaml文件,意思差不多
~/cloudify-manager-blueprints/simple里面有个模板了,把它复制一下到inputs.json吧。


cd ~/cloudify-manager-blueprints/simple && cp inputs.json.template inputs.json
vi inputs.json


{
    "public_ip": "127.0.0.1",
    "private_ip": "127.0.0.1",
    "ssh_user": "gary",
    "ssh_key_filename": "/home/gary/.ssh/id_rsa",


    "agents_user": "ubuntu",
    "resources_prefix": ""
}


#不要用~符号,在docker环境下乱


cd ~
cfy bootstrap -p cloudify-manager-blueprints/simple/simple.yaml -i cloudify-manager-blueprints/simple/inputs.json
这个速度的很慢,下载文件包超过1G,大部分托管在Amazon的s3下,大部分时间可以接通但是很慢,少量时间不通。更改一下simple.yaml里的文件链接可以快一点。
openjdk-7-jdk安装出错, https://bugs.launchpad.net/ubuntu/+source/openjdk-7/+bug/1165292


接下来,我们来试一下成不成:
(cfy3.1)gary@localhost :~$ cfy status
Getting management services status... [ip=127.0.0.1]


Services:
+--------------------------------+---------+
|            service             |  status |
+--------------------------------+---------+
| Riemann                        | running |
| Celery Managment               | running |
| RabbitMQ                       | running |
| Cloudify Manager               | running |
| Elasticsearch                  | running |
| SSH                            | running |
| Webserver                      | running |
| Cloudify UI                    | running |
| Syslog                         | running |
| Logstash                       | running |
+--------------------------------+---------+
恭喜兄弟,您已经安装了CLI, Manager了。下步就开始开载那个Nodejs+MangoDB做的酒瓶子web服务应用了。
您也可以打开页面欣赏一下:
http://106.186.18.77/#/blueprints


8, 加载nodecellar
cd ~
git clone https://github.com/cloudify-cosmo/cloudify-nodecellar-example
cd *le && git checkout 3.1


开始加载nodecellar应用的blueprints, blueprints是Cloudify的核心中的核心,这个蓝本也就是应用布署以及伸缩监控的所有的细节。
cfy blueprints upload -b nodecellar -p ~/cloudify-nodecellar-example/singlehost-blueprint.yaml
会出现在以下内容,你也可以点开那个web console页面看到:
Validating /home/feng/cloudify-nodecellar-example/singlehost-blueprint.yaml
Blueprint validated successfully
Uploading blueprint /home/feng/cloudify-nodecellar-example/singlehost-blueprint.yaml to management server 127.0.0.1
Uploaded blueprint, blueprint's id is: nodecellar


有了blueprint之后,我们还要准备一下输入参数文件:
cd ~/cloudify-nodecellar-example/inputs
cp singlehost.json.template singlehost.json
vi singlehost.json
大致是这个样子:
{
    "host_ip": "127.0.0.1",
    "agent_user": "gary",
    "agent_private_key_path": "/home/gary/.ssh/id_rsa"
}


然后用blueprints产生一个deployments。deployments是blueprints的一个实例,类似于class与object之间的关系。
cfy deployments create -b nodecellar -d nodecellar --inputs ~/cloudify-nodecellar-example/inputs/singlehost.json
系统提示如下,从nodecellar的blueprints生成了一个deployments,这个deployment名字也叫nodecellar(个人感觉同名不太好,下回我改):
Creating new deployment from blueprint nodecellar at management server 127.0.0.1
Deployment created, deployment's id is: nodecellar


再后就开始在本机中布署这个应用了:
cfy executions start -w install -d nodecellar


再后是一长串的消息,如果没有报错的话,就可以打开酒瓶子软件,就在那个机器的8080端口。接下来,我们还得停下,删掉,放在openstack去做比较有意思,对吧。先到这里吧。成功的兄弟看看用了多长时间完成的?
顶部