1. 拓扑
每一台服务器都为双网卡,管理网卡为eth0,业务网卡为eth1,服务器最低配置如下:
节点 | cpu | 内存 | 磁盘 |
controller | 2 | 4GB | 5GB |
compute | 2 | 4G | 5G |
storage | 2 | 4G | 50 |
其中管理网为192.168.2.0/24,controller管理地址192.168.2.136,compute1管理地址为192.168.2.137,storage1管理地址为192.168.2.138;业务网为192.168.124.0/24,compute1业务地址为192.168.2.137,storage1业务地址为192.168.2.138。
2.yum源设置
在centos默认源的baseurl中添加https://mirrors.aliyun.com/centos/7/cloud/x86_64/openstack-queens/,使用yum clean all,yum makecache更新缓存
3.网络配置
在所有节点的/etc/hosts文件下添加
controller 192.168.2.126
compute1 192.168.2.127
storage1 192.168.2.128
4.安装组件
#在所有节点上安装NTP服务组件
使用yum安装组件:
yum -y install chrony
修改文件:
在controller节点上的/etc/chrony/chrony.conf添加
allow 192.168.2.0/24,在其它节点上的/etc/chrony/chroy.conf中添加server controller iburst。
服务启动设置:
systemctl enable chronyd
systemctl start chronyd
启动后在各节点上使用chronyc sources进行检查。
#在所有节点上安装openstack客户端
yum -y install python-openstackclient openstack-selinux
#在controller节点上安装数据库
安装组件:
yum install mariadb mariadb-server python2-PyMySQL
启动服务:
systemctl enable mariadb
systemctl start mariadb
设置root用户密码:
msqladmin -uroot password
#在controller上安装消息队列组件rabbitmq
安装组件:
yum install rabbitmq-server
启动服务:
systemctl enable rabbitmq-server
systemctl start rabbitmq-server
添加openstack用户:
rabbitmqctl add_user openstack RABBIT_PASS
设置用户权限:
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
#在controller节点上安装memcached
组件安装:
yum install memcached python-memcache
修改memcached文件:
修改/etc/sysconfig/memcached文件,修改OPTIONS参数为OPTIONS="-l 127.0.0.1,::1,controller"
启动服务:
systemctl enable memcached.service
systemctl start memcached.service
#在controller节点上安装etcd服务
安装组件:
yum -y install etcd
修改etcd配置文件/etc/etcd/etcd.conf:
#[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://192.168.2.126:2380"
ETCD_LISTEN_CLIENT_URLS="http://192.168.2.126:2379"
ETCD_NAME="controller"
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.2.126:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.2.126:2379"
ETCD_INITIAL_CLUSTER="controller=http://192.168.2.126:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER_STATE="new"
启动etcd服务:
systemctl enable etcd
systemctl start etcd
5.安全设置
#生产随机token
openssl rand -hex 10
#设置token
export OS_TOKEN=ADMIN_TOKEN
export OS_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3