这个题目实在太牛逼。我也没想到,我对puppet都还没怎么了解的情况下,居然对着文档用puppet把openstack装好。而且是多节点,还用上multi_host。nova volume也搞定了。
其实还是人家的文档写的好。Openstack Essex Deploy by Puppet on Ubuntu 12.04 HOWTO
我也是使用3台机器做实验
- node15.chenshake.com puppet master和控制节点,同时还是计算节点:10.1.199.15/24,
- node16.chenshake.com 计算节点,10.1.199.16/24
- node17.chenshake.com 计算节点,10.1.199.17/24
对于puppet,一定要把hostname搞定。他是依赖FQDN name。下面就一步一步来。
一:准备
1:设置网络
root@node15:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.1.199.15
hwaddress ether 00:25:90:67:ce:28
netmask 255.255.255.0
network 10.1.199.0
gateway 10.1.199.1
auto eth1
iface eth1 inet manual
up ifconfig eth1 up
3台机器都需要设置,把eth1 up 起来。
root@node15:~# mii-tool
eth0: negotiated 1000baseT-FD flow-control, link ok
eth1: negotiated 1000baseT-FD flow-control, link ok
2:设置hostname
root@node15:~# cat /etc/hosts
127.0.0.1 localhost
10.1.199.15 node15.chenshake.com node15
10.1.199.16 node16.chenshake.com node16
10.1.199.17 node17.chenshake.com node17
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
3: 设置nova-volume (可选)
这个就需要你硬盘里有单独的分区,我的机器上是有专门一个分区给nova-volume使用。
二:Puppet
1:安装puppet agent
我们希望puppet也可以管理自己,所以3台机器都需要安装agent
aptitude -y install puppet augeas-tools
2:安装puppet master (控制节点)
这个是在node15上安装就可以
apt-get update
aptitude -y install puppetmaster sqlite3 libsqlite3-ruby libactiverecord-ruby git rake
gem install puppetlabs_spec_helper
第二条命令时间比较长,确保网络是通的。
3:启用插件pluginsync
3台机器都需要运行,注意下面的 node15.chenshake.com, 指向控制节点的机器名。
augtool |