搭建基于OpenStack的Ubuntu Cloud (Ubuntu Server 12.04.3 LTS )


本文介绍了一种利用Ubuntu Server 12.04.3 LTS搭建基于OpenStack私有云的方法。

准备:
----------------------------------------------------------------------------------------------------

1.x86_64机器1台。(Ubuntu的官方说明要求了N台,但是如果只是测试用,1台足以。)

2.网卡1块。

3.无论有没有DHCP。

--------------------------------------------------------------------------------------------------------

安装步骤:

1.在此页面下载Ubuntu Server 12.04.3 LTS ISO文件.

2.刻盘或直接安装该ISO文件至虚拟机。安装时,选择安装“Multiple Server install with MAAS”,无需安装maas-dhcp and maas-dns 。官方的安装过程可以作为参考。

3.配置MAAS。可以参考这里。

4.运行命令 $sudo apt-get install python-software-properties

5.安装juju,详细过程见这里。注意不要安装1.x版的juju-core,如果你要用juju-core,用0.7版。

6.配置environment.yaml 文件。(用户名密码居然可以明文保存,呃。。。)

6.关闭防火墙。#sudo ufw disable

7.配置lxc

如果有DHCP:

----------------------------------------------------------------------

(A)#sudo vi /etc/network/interfaces, 添加以下信息:
------------------------------
auto lxcbr0
iface lxcbr0 inet static
address YOUR_MAAS_IP  *specify lxcbr0 IP*
broadcast YOUR_BROADCAST
netmask YOUR_NETMASK
network YOUR_NETWORK
gateway YOUR_GATEWAY
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
----------------------
(B) #sudo /etc/init.d/networking restart or #sudo reboot
注意:没必要编辑 /etc/init/lxc-net.conf



如果没有DHCP:

---------------------------------------------------------------------------------------------

(A) 跟有DHCP时的配置一样 (上面的A)
(B) Edit /etc/lxc/lxc.conf and set lxc.network.link=lxcbr0
(C) Edit /etc/default/lxc and set LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE & LXC_DHCP_MAX:
----------------
LXC_BRIDGE="lxcbr0"
LXC_ADDR="YOUR_MAAS_IP" *specify lxcbr0 IP*
LXC_NETMASK="YOUR_NETMASK"
LXC_NETWORK="YOUR_NETWORK"
LXC_DHCP_RANGE="YOUR_IP1,YOUR_IP9" *DHCP range* (假设你给了9个IP)
LXC_DHCP_MAX="4"
(D) #sudo vi /etc/init/lxc-net.conf, 添加上面同样的信息。
(E) #sudo apt-get install dnsmasq and #vi /etc/dnsmasq.conf, add: listen-address=YOUR_MAAS_IP *the lxcbr0 IP*  参考:https://help.ubuntu.com/community/Dnsmasq
(F) #sudo /etc/init.d/networking restart or #sudo reboot

8.运行juju bootstrap:

 richard@vmubtos1:~$ juju bootstrap
2013-06-28 21:16:22,971 INFO Bootstrapping environment 'sample' (origin: distro type: local)...
2013-06-28 21:16:22,972 INFO Checking for required packages...
2013-06-28 21:16:23,617 INFO Starting networking...
2013-06-28 21:16:23,630 INFO Starting ZooKeeper...
2013-06-28 21:16:23,739 INFO Starting storage server...
2013-06-28 21:16:27,730 INFO Initializing zookeeper hierarchy
2013-06-28 21:16:27,937 INFO Starting machine agent (origin: ppa)...
2013-06-28 21:16:28,380 INFO Environment bootstrapped
2013-06-28 21:16:28,381 INFO 'bootstrap' command finished successfully

9.查看状态:(因为任何应用都还没部署,所以machines是0)


richard@vmubtos1:~$ juju status
machines:
0:
agent-state: running
dns-name: localhost
instance-id: local
instance-state: running
services: {}
2013-06-28 21:17:06,506 INFO 'status' command finished successfully

10.部署juju-gui:

$juju deploy juju-gui
2013-06-28 21:18:07,416 INFO Searching for charm cs:precise/juju-gui in charm store
2013-06-28 21:18:11,428 INFO Charm deployed as service: 'juju-gui'
2013-06-28 21:18:11,428 INFO 'deploy' command finished successfully

11.expose juju-gui: (这样每个charm的IP可见了)





相关内容