openstack O版 配置nova計算服務

1.創建數據庫,並且授權數據庫,庫名爲:nova_api 用戶名:nova 密碼:devops
[root@controller ~]# mysql -uroot -pdevops
MariaDB [(none)]> CREATE DATABASE nova_api;
MariaDB [(none)]> CREATE DATABASE nova;
MariaDB [(none)]> CREATE DATABASE nova_cell0;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api. TO 'nova'@"localhost" IDENTIFIED BY 'devops';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.
TO 'nova'@"%" IDENTIFIED BY 'devops';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova. TO 'nova'@"localhost" IDENTIFIED BY 'devops';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.
TO 'nova'@"%" IDENTIFIED BY 'devops';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0. TO 'nova'@"localhost" IDENTIFIED BY 'devops';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.
TO 'nova'@"%" IDENTIFIED BY 'devops';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON . TO 'root'@'controller' IDENTIFIED BY 'devops';
MariaDB [(none)]> FLUSH PRIVILEGES;
2.[root@controller ~]# source admin-openrc
3.創建nova的keystone用戶
[root@controller ~]# openstack user create --domain default nova --password devops
User Password: 密碼爲:devops
Repeat User Password: 密碼爲:devops
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | e651779d03cf4d53b14527bfaffa818a |
| name | nova |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
[root@controller ~]# openstack role add --project service --user nova admin
創建computer服務
[root@controller ~]# openstack service create --name nova --description "OpenStack Compute" compute
openstack O版 配置nova計算服務
[root@controller ~]#openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1/%\(tenant_id\)s
openstack O版 配置nova計算服務
[root@controller ~]# openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%\(tenant_id\)s

openstack O版 配置nova計算服務
[root@controller ~]# openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%\(tenant_id\)s
openstack O版 配置nova計算服務
4.安裝nova的軟件包
[root@controller ~]#yum install -y openstack-nova-api openstack-nova-conductor openstack-nova-cert openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler
修改nova配置文件
[root@controller ~]# cp /etc/nova/nova.conf /etc/nova/nova.conf.bak
[root@controller ~]# >/etc/nova/nova.conf
[root@controller~]# cat /etc/nova/nova.conf
[DEFAULT]
enabled_apis = osapi_compute,metadata
auth_strategy = keystone
my_ip = 192.168.0.111
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
transport_url = rabbit://openstack:devops@controller
[database]
connection = mysql+pymysql://nova:devops@controller/nova
[api_database]
connection = mysql+pymysql://nova:devops@controller/nova_api
[scheduler]
discover_hosts_in_cells_interval = -1
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = devops
service_token_roles_required = True
[vnc]
vncserver_listen = 192.168.0.111
vncserver_proxyclient_address = 192.168.0.111
[glance]
api_servers = http://controller:9292
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
5.同步數據庫
[root@controller ~]# su -s /bin/sh -c "nova-manage api_db sync" nova
[root@controller ~]# su -s /bin/sh -c "nova-manage db sync" nova
6.設置cell_v2關聯上創建好的數據庫nova_cell0
[root@controller ~]# nova-manage cell_v2 map_cell0 --database_connection mysql+pymysql://root:devops@controller/nova_cell0
7.創建一個常規cell,名字叫cell1,這個單元格里面將會包含計算節點
[root@controller ~]# nova-manage cell_v2 create_cell --verbose --name cell1 --database_connection mysql+pymysql://root:devops@controller/nova_cell0 --transport-url rabbit://openstack:devops@controller:5672/
8.檢查部署是否正常
# nova-status upgrade check
9.創建和映射cell0,並將現有計算主機和實例映射到單元格中
[root@controller ~]# nova-manage cell_v2 simple_cell_setup
10.查看已經創建好的單元格列表
[root@controller ~]# nova-manage cell_v2 list_cells --verbose
注意,如果有新添加的計算節點,需要運行下面命令來發現,並且添加到單元格中
# nova-manage cell_v2 discover_hosts
[root@controller ~]# nova-status upgrade check

openstack O版 配置nova計算服務

11.創建placement用戶和placement 服務,從Ocata開始,需要安裝配置placement參與nova調度了,不然虛擬機將無法創建!
[root@controller ~]# yum install -y openstack-nova-placement-api
[root@controller ~]# openstack user create --domain default placement --password devops
[root@controller ~]# openstack role add --project service --user placement admin
[root@controller ~]# openstack service create --name placement --description "OpenStack Placement" placement
創建placement endpoint
[root@controller ~]#openstack endpoint create --region RegionOne placement public http://controller:8778
[root@controller ~]#openstack endpoint create --region RegionOne placement admin http://controller:8778
[root@controller ~]#openstack endpoint create --region RegionOne placement internal http://controller:8778
把placement 整合到nova.conf裏
[placement]
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = devops
os_region_name = RegionOne
12.配置修改00-nova-placement-api.conf文件,這步沒做創建虛擬機的時候會出現禁止訪問資源的問題
[root@controller ~]#cd /etc/httpd/conf.d/
[root@controller ~]#cp 00-nova-placement-api.conf 00-nova-placement-api.conf.bak
[root@controller ~]#>00-nova-placement-api.conf
[root@controller conf.d]# cat 00-nova-placement-api.conf
Listen 8778
<VirtualHost :8778>
WSGIProcessGroup nova-placement-api
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
WSGIDaemonProcess nova-placement-api processes=3 threads=1 user=nova group=nova
WSGIScriptAlias / /usr/bin/nova-placement-api
<Directory "/">
Order allow,deny
Allow from all
Require all granted
</Directory>
<IfVersion >= 2.4>
ErrorLogFormat "%M"
</IfVersion>
ErrorLog /var/log/nova/nova-placement-api.log
</VirtualHost>
Alias /nova-placement-api /usr/bin/nova-placement-api
<Location /nova-placement-api>
SetHandler wsgi-script
Options +ExecCGI
WSGIProcessGroup nova-placement-api
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
</Location>
13.重啓下httpd服務
[root@controller ~]# systemctl restart httpd
檢查下是否配置成功
# nova-status upgrade check
openstack O版 配置nova計算服務
14.啓動服務
[root@controller ~]# systemctl enable openstack-nova-api.service openstack-nova-cert.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
[root@controller ~]# systemctl restart openstack-nova-api.service openstack-nova-cert.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
[root@controller ~]# systemctl status openstack-nova-api.service openstack-nova-cert.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
[root@controller ~]# systemctl list-unit-files |grep openstack-nova-

15.驗證nova服務
[root@controller ~]# unset OS_TOKEN OS_URL
[root@controller ~]# source /root/admin-openrc
[root@controller ~]# nova service-list
[root@controller ~]# openstack endpoint list 查看endpoint list

所有的配置文件在百度雲盤中:
鏈接:https://pan.baidu.com/s/1CnmKkFMTemv199ctgb5Oig
提取碼:27om
複製這段內容後打開百度網盤手機App,操作更方便哦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章