ubuntu16.04多节点布置openstack newton版
非官网的一个参考:http://www.tuicool.com/articles/6j6jaya控制节点安装
1、网络配置
需要两张网卡,两张网卡第一张网卡配置静态地址,第二张为provider interface,配置如下:
# The provider network interface
auto INTERFACE_NAME
iface INTERFACE_NAME inet manual
up ip link set dev $IFACE up
down ip link set dev $IFACE down
将其中的INTERFACE_NAME换成自己的interface(最后两行是什么意思未懂)
2、在/etc/hostname中将节点的hostname改为controller,
然后在/etc/hosts中更改如下:
10.0.0.11 controller
10.0.0.31 compute1
10.0.0.41 block1
10.0.0.51 object1
10.0.0.52 object2
以上设置根据自己的拓扑进行设置。设置完毕后最好ping一下主机名。
3、校准时间:
先安装:
sudo apt-get install chrony
在/etc/chrony/chrony.conf中加入:
server NTP_SERVER iburst #其中NTP_SERVER为使用基准时间的IP地址。
更改使得整个网段内都可以使用该节点时间校准:
allow 10.0.0.0/24 #网段根据实际需要更改
重启服务:
sudo service chrony restart
验证是否成功:
chronyc sources #在列出的结果中查看是否有自己配置的地址。
4、安装openstack包
sudo apt-get install software-properties-common
sudo add-apt-repository cloud-archive:newton
5、
sudoapt-get update && apt dist-upgrade
sudo apt-get install python-openstackclient
6、安装数据库
安装包
sudo apt-get install mariadb-server python-pymysql
配置数据库,在/etc/mysql/mariadb.conf.d/99-openstack.cnf中写入以下内容:
bind-address = 10.0.0.11 #此处IP换成自己的IP
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
重启数据库
sudo service mysql restart
更改数据库安全策略,这里需要输入密码
sudo mysql_secure_installation
登陆数据库查看,这里有个问题,目前看不能以普通用户身份登录,必须加sudo或者用root为用户。
sudo mysql -uroot -p
7、消息队列
安装包
sudo apt-get install rabbitmq-server
这一步遇到问题,
Errors were encountered while processing:
rabbitmq-server
这里是域名解析的问题,需要操作的是保证 /etc/hosts中本地回环地址的后边不止有localhost,还有该节点的名称(controller)。
安装成功后创建openstack用户:
rabbitmqctl add_user openstack RABBIT_PASS #将RABBIT_PASS换成自己的密码
配置rabbitmq用户的配置、读、写权限
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
8、安装memcached,Identity service用memcached来存储tokens
安装包
sudo apt install memcached python-memcache
在/etc/memcached.conf中配置节点的IP信息,其中有一句‘’-l IP‘’,将其中的IP改为实际节点的IP。
重启服务
sudo service memcached restart
9、安装keystone认证
1)登录数据库并创建用户和keystone数据库:
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \IDENTIFIED BY 'KEYSTONE_DBPASS';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \IDENTIFIED BY 'KEYSTONE_DBPASS'; #这里的KEYSTONE_DBPASS均改为自己需要的密码
2)在/etc/keystone/keystone.conf进行配置如下:
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
provider = fernet
10、执行如下操作
su -s /bin/sh -c "keystone-manage db_sync" keystone
11、初始化fernet key仓库
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
12、引导identify服务
keystone-manage bootstrap --bootstrap-password ADMIN_PASS --bootstrap-admin-url http://controller:35357/v3/ --bootstrap-internal-url http://controller:35357/v3/ --bootstrap-public-url http://controller:5000/v3/ --bootstrap-region-id RegionOne
13、创建域、工程、用户、角色
1)openstack project create --domain default --description "Service Project" service
2)创建demo工程
openstack project create --domain default--description "Demo Project" demo
3)创建用户
openstack user create --domain default --password-prompt demo
这里会提示输入密码。
3)创建用户角色
openstack role create user
4)将用户角色添加到工程和用户中
openstack role add --project demo --user demo user
13、配置apache
1)/etc/apache2/apache2.conf中添加:
ServerName controller
2)重启服务并删除默认的sql数据库
service apache2 restart
rm -f /var/lib/keystone/keystone.db
3)设置环境变量
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS #这里需要换成自己的密码
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
计算节点安装
前两步与控制节点相同,
3、安装chronyc同上,但是/etc/chrony/chrony.conf需要加入:
server controller iburst
然后重启并验证
service chrony restart
chronyc sources
4、安装openstack包
sudo apt-get install software-properties-common
sudo add-apt-repository cloud-archive:newton
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install python-openstackclient
碰到的问题:
1、dns解析
默认的16版似乎并没有设置可以用的DNS,需要手动设置,有两个文件,一个是/etc/resolve.conf,一个是/etc/resolvconf/resolv.conf.d/head,其中前者中的内容会在下次重启时被删除,因此只能在后者中加入:
nameserver dns_ip
可以加入多条地址
页:
[1]