本次部署的三個節點,一個控制節點,一個計算節點,一個網絡節點,都是 Ubuntu 16.04 的虛擬機。
- 控制節點(controller):10.0.0.7
- 計算節點(compute):10.0.0.5
- 網絡節點(network):10.0.0.25
hosts配置(所有節點)
在 /etc/hosts
文件中追加以下內容
10.0.0.7 controller
10.0.0.5 compute
10.0.0.25 network
NTP時間同步服務
安裝並配置NTP服務(控制節點)
root@controller:~# apt install -y chrony
root@controller:~# vi /etc/chrony/chrony.conf
# 注釋掉20行
#pool 2.debian.pool.ntp.org offline iburst
# 在67行添加以下內容
server ntp1.aliyun.com iburst
# 添加允許接受同步請求的網絡范圍
allow 10.0.0.0/24
# 重啟服務
root@controller:~# service chrony restart
安裝並配置NTP服務(其他節點)
apt install chrony -y
vi /etc/chrony/chrony.conf
# 注釋掉20行
#pool 2.debian.pool.ntp.org offline iburst
# 在67行添加以下內容
server controller iburst
# 重啟服務
service chrony restart
驗證(控制節點)
root@controller:~# chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 120.25.115.20 2 6 37 26 +803ns[ +34us] +/- 20ms
驗證(其他節點)
root@compute:~# chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* controller 3 6 37 43 -48us[ -19us] +/- 21ms
root@network:~# chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* controller 3 6 37 54 -3703ns[ -940us] +/- 21ms
安裝OpenStack基礎軟件包(所有節點)
apt install software-properties-common -y
add-apt-repository cloud-archive:queens
apt update && apt dist-upgrade -y
# 安裝OpenStack軟件包
apt install python-openstackclient -y
安裝數據庫(控制節點)
root@controller:~# apt install mariadb-server python-pymysql -y
root@controller:~# vi /etc/mysql/mariadb.conf.d/99-openstack.cnf
# 這是一個新文件,寫入以下內容
[mysqld]
bind-address = 10.0.0.7
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
# 重啟數據庫
root@controller:~# service mysql restart
# 對數據庫進行初始化動作,需要輸入一個密碼(root)作為數據庫密碼,其余一路回車即可
root@controller:~# mysql_secure_installation
安裝RabbitMq消息隊列(控制節點)
root@controller:~# apt install rabbitmq-server -y
# 添加消息隊列服務的用戶
root@controller:~# rabbitmqctl add_user openstack root
Creating user "openstack"
# 為openstack用戶添加權限
root@controller:~# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/"
安裝Memcached緩存(控制節點)
root@controller:~# apt install memcached python-memcache -y
root@controller:~# vi /etc/memcached.conf
# 修改35行為控制節點的ip
-l 10.0.0.7
# 重啟服務
root@controller:~# service memcached restart