openstack學習三-虛擬機上手工最小化安裝stein(4)nova-控制節點

    nova組件是openstack雲管架構的核心模塊,現在的很多模塊原來都是nova中的一個組件,現在都單獨成立了項目比如nurton。nova組件請求OpenStack Identity服務進行認證;請求OpenStack Image服務提供磁盤鏡像;爲OpenStack dashboard提供用戶與管理員接口。磁盤鏡像訪問限制在項目與用戶上;配額以每個項目進行設定(例如,每個項目下可以創建多少實例)。OpenStack組件可以在標準硬件上水平大規模擴展,並且下載磁盤鏡像啓動虛擬機實例。

   控制節點安裝組件如下圖:

+-----------+-----------+
|    [ Control Node ]   |
|                       |
|  MariaDB    RabbitMQ  |
|  Memcached  httpd     |
|  Keystone   Glance    |
|  Nova API             |
+-----------------------+

    安裝nova前我們已經創建好了數據庫,建好了數據庫用戶nova,涉及到下面三個數據庫需要建好並對nova用戶授權;

MariaDB [(none)]> CREATE DATABASE nova_api;
MariaDB [(none)]> CREATE DATABASE nova;
MariaDB [(none)]> CREATE DATABASE nova_cell0;

一、openstack組件中創建nova服務

1、進入特權模式創建nova用戶,密碼與用戶名一致

openstack user create --domain default --password-prompt nova

2、增加admin角色給nova用戶

openstack role add --project service --user nova admin

3、註冊nova服務

openstack service create --name nova  --description "OpenStack Compute" compute

4、創建計算節點API的endpoint

openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1
openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1
openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1
通過openstack endpoint list驗證服務端點是否註冊成功

二、創建placement服務

Placement組件從n版引入,p版強制用戶使用,該組件的主要作用是參與 nova-scheduler 選擇目標主機的調度流程中,負責跟蹤記錄 Resource Provider 的 Inventory 和 Usage,並使用不同的 Resource Classes 來劃分資源類型,使用不同的 Resource Traits 來標記資源特徵。
1、註冊placement用戶

openstack user create --domain default --password-prompt placement

2、增加admin角色給placement用戶

openstack role add --project service --user placement admin

3、註冊placement服務

openstack service create --name placement --description "OpenStack Compute Placement service" placement 

4、創建placement服務的endpoint

openstack endpoint create --region RegionOne placement public http://controller:8778
openstack endpoint create --region RegionOne placement internal http://controller:8778
openstack endpoint create --region RegionOne placement admin http://controller:8778

三、配置nova軟件

因爲前面我們統一安裝配置了數據庫與各組件軟件本身,所以這一步不需要在安裝,只需要配置即可。

1、配置/etc/nova/nova.conf

egrep ^\\[\|^[a-z] /etc/nova/nova.conf  (自動將配置文件中修改的內容單列出來並且會自動提出配置項目名稱)

[DEFAULT]
my_ip=10.37.6.23
use_neutron=true
firewall_driver=nova.virt.firewall.NoopFirewallDriver
enabled_apis=osapi_compute,metadata
rabbit://openstack:openstack@controller
[api]
auth_strategy=keystone
[api_database]
connection=mysql+pymysql://nova:nova@controller/nova_api
[database]
connection=mysql+pymysql://nova:nova@controller/nova
[devices]
[ephemeral_storage_encryption]
[filter_scheduler]
[glance]
api_servers=http://controller:9292
[keystone_authtoken]
auth_url = http://controller:5000/v3
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = nova
[libvirt]
[metrics]
[mks]
[neutron]
[notifications]
[osapi_v21]
[oslo_concurrency]
lock_path=/var/lib/nova/tmp
[placement]
region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:5000/v3
username = placement
password = placement
[placement_database]
connection = mysql+pymysql://placement:placement@controller/placement
[vnc]
enabled=true
server_listen=$my_ip
server_proxyclient_address=$my_ip

2、同步nova-api數據庫

 su -s /bin/sh -c "nova-manage api_db sync" nova

驗證nova_api數據庫同步效果

3、註冊cell0數據庫

su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova

4、創建cell1單元格

su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova

5、同步nova數據庫

su -s /bin/sh -c "nova-manage db sync" nova

驗證nova數據庫同步效果

6、驗證nova cell0和cell1是否正確註冊

su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova

四、啓動控制節點nova服務並設置爲啓動服務

# systemctl enable openstack-nova-api.service \
  openstack-nova-consoleauth openstack-nova-scheduler.service \
  openstack-nova-conductor.service openstack-nova-novncproxy.service
# systemctl start openstack-nova-api.service \
  openstack-nova-consoleauth openstack-nova-scheduler.service \
  openstack-nova-conductor.service openstack-nova-novncproxy.service

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