Skip to content

Latest commit

 

History

History
317 lines (237 loc) · 7.54 KB

README.md

File metadata and controls

317 lines (237 loc) · 7.54 KB

cattle安装文档


第一章、系统配置

1.1 网络配置
建立br0内容如下:
DEVICE="br0"
BOOTPROTO="static"
ONBOOT="yes"
IPADDR=192.168.1.2
NETMASK=255.255.255.0
TYPE=Bridge
GATEWAY=10.16.123.254

第二章、kvm与libvirt安装

2.1 检测服务器是否支持kvm
egrep '(vmx|svm)' --color=always /proc/cpuinfo
若输出内容不为空,则服务器支持kvm虚拟化
2.2 安装
yum install -y kvm kmod-kvm kvm-qemu-img libvirt libvirt-devel Python-virtinst virt-manager virt-viewer bridge-utils
2.3 重新启动系统
reboot

第三章、安装libguestfs

3.1 安装
yum install -y libguestfs libguestfs-tools libguestfs-tools-c python-libguestfs libguestfs-winsupport

第四章、安装lvm2

4.1 确认是否已经安装lvm2
rpm -qa|grep lvm2
输出如下信息表示已经安装,本章不用在安装。
lvm2-2.02.98-9.el6_4.3.x86_64
lvm2-libs-2.02.98-9.el6_4.3.x86_64
4.2 安装lvm2
yum install -y lvm2 lvm2-libs

第五章、安装ntfs-3g和ntfsprogs

5.1 下载安装文件
export http_proxy=http://user:passwd@ip:port 设置代理,此步可以不要
wget http://tuxera.com/opensource/ntfs-3g_ntfsprogs-2014.2.15.tgz
5.2 安装gcc,此步可略
yum install -y gcc
5.3 安装ntfs-3g_ntfsprogs
tar zxvf ntfs-3g_ntfsprogs-2014.2.15.tgz
cd ntfs-3g_ntfsprogs-2014.2.15
./configure
make
make install

说明:在configure时出现如下告警,不影响安装。
/bin/rm: cannot remove `libtoolT': No such file or directory

第六章、mq消息处理器安装

6.1 amqp安装
tar zxvf amqp-1.4.5.tar.gz
cd amqp-1.4.5
python setup.py build
python setup.py install
6.2 kombu安装
tar zxvf ordereddict-1.1.tar.gz
cd ordereddict-1.1
python setup.py build
python setup.py install

tar zxvf importlib-1.0.3.tar.gz
cd importlib-1.0.3
python setup.py build
python setup.py install

tar zxvf anyjson-0.3.3.tar.gz
cd anyjson-0.3.3
python setup.py build
python setup.py install

tar zxvf kombu-3.0.15.tar.gz
cd kombu-3.0.15 python setup.py build
python setup.py install
6.3安装yaml

tar zxvf PyYAML-3.11.tar.gz
cd PyYAML-3.11
python setup.py install

第七章、dhcp安装

7.1 安装dhcp
yum -y install dhcp

第八章、安装cattle

8.1 安装cattle
1)、进入/usr/lib/python2.6/site-packages目录
2)、上传cattle-2015-01.tar.gz并解压
3)、上传cattle.conf,businessAction.conf 到"/etc/"目录,并修改响应配置
4)、根据配置文件建立相关目录:
vm 目录 : mkdir -p /data/vm/
存储目录 : mkdir -p /data/storage/
模板目录 : mkdir -p /data/images/
5)、配置相关属性
MQ地址 : mq_addr
应用服务器地址 : ip_addr
模板下载地址 : download_addr
网桥 : bridge
vg名字 : vg_name
等等其他相关配置
6)、dhcp配置
配置/etc/dhcpd.conf
/usr/sbin/dhcpd为启动程序
/var/lib/dhcpd/dhcpd.leases 为租约记录文件
/etc/sysconfig/dhcpd 配置dhcp在特定网口上提供服务DHCPDARGS=bro 多个网口使用空格分开

需要修改,例如:
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.1;
option time-offset -18000;
option broadcast-address 255.255.255.254;
max-lease-time 43200;
default-lease-time 21600;
option subnet-mask 255.255.255.0;
option domain-name-servers 114.114.114.114;

}

subnet 192.168.122.0 netmask 255.255.255.0 {

}

subnet 10.16.123.0 netmask 255.255.255.0 {

}

进入”/etc/dhcp“目录,上传dhcpd.conf文件,并做相应的修改
7)、新建/etc/cattle/script目录,并上传服务配置文件

mkdir -p /etc/cattle/script
8)、上传应用到的数据库到“/etc/”目录

9)、新建/etc/koala目录,上传koala.conf文件,并修改文件当中的数据库连接地址,消息配置,模板下载配置等
mkdir -p /etc/koala

8.2 安装cattle_monitor

8.3 搭建rabbitMQ消息队列


3、python组件

1)、django1.6.8

tar zxvf Django-1.6.8.tar.gz
cd Django-1.6.8
python setup.py install

2)、rest_framework

tar zxvf djangorestframework-3.0.0.tar.gz
cd djangorestframework-3.0.0
python setup.py install

3)、mysql
yum install mysql-server mysql-libs mysql
service mysqld start
mysqladmin -u root password "123456"
service mysqld restart 进入数据库:mysql -uroot -p123456,创建数据库:create database koala;
4)、MySQLdb

需要 yum install -y python-devel
yum install -y mysql-devel

tar zxvf MySQL-python-1.2.3.tar.gz
cd MySQL-python-1.2.3
python setup.py install

8.3 安装Koala
1)、进入Koala/Koala目录,修改settings.py文件的数据库链接地址
2)、Koala目录,执行python manage.py syncdb,执行的时候创建管理员用户和密码
3)、修改app_serviceinfo表,添加镜像文件
例如:iis2003 1 iis2003 normal http
4)、修改vm_image表,添加镜像,例如
1 0F7620DDF32543A097372F11C5B8877F 0 kvm
5)、镜像上传到网盘或者拷贝到指定目录,例如:
scp wintest03 [email protected]:/data/images/
scp 0F7620DDF32543A097372F11C5B8877F [email protected]:/data/images/

8.4 测试
1)、首先进入/usr/lib/python2.6/site-packages/cattle目录,执行python cattled.py start,启动cattle
2)、然后进入/usr/lib/python2.6/site-packages/Koala目录,执行python manage.py runserver 0.0.0.0:9000,启动restful接口
3)、进入/usr/lib/python2.6/site-packages/koala_task目录,执行python koala_task_server.py ,启动后台任务以及监控
4)、访问http://10.16.123.81:9000/v1/vm/http://10.16.123.81:9000/v1/app/进行测试。

测试部分json如下:
1,应用创建
{
"action":"create",
"taskId":"E111111122222222001",

"command":{
"serviceId": "iis2003",
"appName":"iis_test",
"mem":1024,
"disk": 500 ,
"cpu":1,
"appFileId":"eeeeeeeeeee",
"appEnv":"",
"domain":"www.abc.com",
"unit":1
}
}

2,应用更新,暂无

{
"action":"update",
"taskId":"E1111111222222225",

"command":{

"mem":1024,
"disk": 500 ,
"cpu":1,
"appFileId":"111111111",
"appEnv":"",
"domain":"www.abc.com",
}
}

3,应用启动关闭删除
{
"action":"start/stop/drop",
"taskId":"E1111111222222225",

"command":{
"appId": "acdb1e62898711e4929afe5400e41488"
}
}

4,vm创建
{
"action":"create",
"taskId":"E111111122222222001",
"command":{
"vmAlias":"test_kvm_001",
"cpu":2,
"mem":1024,
"size": 800,
"attachDisks":[{ "hardpoints":"vdb","size":500}],
"imageId":"0F7620DDF32543A097372F11C5B8877F"
}
}

5,vm启动关闭删除 {
"action":"start/destroy/drop",
"taskId":"E111111122222222115",

"command":{
"vmId": "ca09caa68ff411e4b80efe5400e41488"
}
}

5,vm代理设置

{
"action":"proxy",
"taskId":"E111111122222222115",

"command":{
"vmId": "ca09caa68ff411e4b80efe5400e41488",
"type": "tcp",
"port": 8081
}
}

##########################################
相关状态

creating created createFail

starting running startFail

stopping stopFail stoped

dropping destroyed dropFail

############################################
日志目录
cattle日志 /var/log/cattle
koala_task日志 /var/log/koala/
cattle_monitor日志 /var/log/cattle
Koala日志,路由配置