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