雲計算之openstack(N版)Nova計算服務最佳實踐

2.5計算服務

2.5.1Nova的概述

Nova組成組件:

API:負責接收和響應外部請求。支持openstack API,EC2 API

Nova-api組件實現了restful API功能,是外部訪問Nova的唯一途徑

接收外部的請求並通過message queue將請求發送給其他的組件,同事也兼容EC2 API,所以也可以用EC2 的管理工具對Nova進行日常管理。

Cert:負責身份認證EC 2

Schedule:用於雲主機調讀,決策虛擬機創建在哪個主機(計算節點)上。

Conductor:計算節點訪問數據的中間件

Consoleauth:用於控制檯的授權驗證

Novncproxy:VNC代理

 

Nova-computer一般運行在計算節點上,通過messagequeue接收並管理VM的生命週期。通過libvirt管理KVM,通過xenapi管理xen等。

wKiom1ht5-HDaF4cAACct8Xotcc448.png-wh_50

 

 

2.5.2控制節點上Nova的安裝與配置

a數據庫的創建與授權

create databasenova;

grant all on nova.*to 'nova'@'localhost' identified by 'nova';

grant all on nova.*to 'nova'@'%' identified by 'nova';

create databasenova_api;

grant all onnova_api.* to 'nova'@'localhost' identified by 'nova';

grant all onnova_api.* to 'nova'@'%' identified by 'nova';

 

b創建服務證書

獲得 admin 憑證來獲取只有管理員能執行的命令的訪問權限:

sourceadmin-openstack.sh

創建 nova 用戶:

openstack usercreate --domain default \

--password-promptnova

給 nova 用戶添加admin 角色:

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

 

c創建 nova 服務實體

openstack servicecreate --name nova \

--description"OpenStack Compute" compute

 

d創建 Compute 服務 API 端點

openstack endpointcreate --region RegionOne compute public http://192.168.56.11:8774/v2.1/%\(tenant_id\)s

openstack endpointcreate --region RegionOne compute admin http://192.168.56.11:8774/v2.1/%\(tenant_id\)s

openstack endpointcreate --region RegionOne compute internalhttp://192.168.56.11:8774/v2.1/%\(tenant_id\)s

 

 

e軟件包的安裝

yum install -yopenstack-nova-api openstack-nova-conductor \

openstack-nova-consoleopenstack-nova-novncproxy \

openstack-nova-scheduler

 

f編輯``/etc/nova/nova.conf``

[DEFAULT]#只啓用計算和元數據API

enabled_apis=osapi_compute,metadata

transport_url=rabbit://openstack:[email protected]#配置rabbitmq消息隊列訪問權限

auth_strategy=keystone

firewall_driver =nova.virt.firewall.NoopFirewallDriver #啓用網絡服務支持

use_neutron=True

[api_database]#配置數據庫的連接

connection=mysql+pymysql://nova:[email protected]/nova_api

[database] #配置數據庫的連接

connection=mysql+pymysql://nova:[email protected]/nova

[glance]  #配置鏡像服務API的位置

api_servers=http://192.168.56.11:9292

[keystone_authtoken]#配置認證服務訪問

auth_uri =http://192.168.56.11:5000

auth_url =http://192.168.56.11:35357

memcached_servers =192.168.56.11:11211

auth_type =password

project_domain_name= default

user_domain_name =default

project_name =service

username = nova

password = nova

[oslo_concurrency]配置鎖路徑

lock_path=/var/lib/nova/tmp

[vnc]#配置vnc代理使用控制節點的管理接口IP地址

vncserver_listen=0.0.0.0

vncserver_proxyclient_address=192.168.56.11

 

j同步Compute 數據庫

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

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

檢驗是否同步成功

mysql -h192.168.56.11 -unova -pnova -e "use nova;show tables;"

mysql -h192.168.56.11 -unova -pnova -e "use nova_api;show tables;"

 

 

h啓動 Compute 服務並將其設置爲隨系統啓動

systemctl enableopenstack-nova-api.service \

openstack-nova-consoleauth.serviceopenstack-nova-scheduler.service \

openstack-nova-conductor.serviceopenstack-nova-novncproxy.service

systemctl startopenstack-nova-api.service \

openstack-nova-consoleauth.serviceopenstack-nova-scheduler.service \

openstack-nova-conductor.serviceopenstack-nova-novncproxy.service

 

驗證:

openstack host list

+-------------------------+-------------+----------+

| Host Name | Service| Zone |

+-------------------------+-------------+----------+

|linux-node1.example.com | consoleauth | internal |

|linux-node1.example.com | conductor | internal |

|linux-node1.example.com | scheduler | internal |

+-------------------------+-------------+----------+

 

2.5.3計算節點上Nova的安裝與配置

a檢驗是否具備虛擬化功能

egrep -c'(vmx|svm)' /proc/cpuinfo 過來出非零的數字即可

 

b軟件包安裝

yum install -yopenstack-nova-compute

 

c編輯``/etc/nova/nova.conf`` [DEFAULT]

[DEFAULT]#只啓用計算和元數據API

auth_strategy=keystone

firewall_driver =nova.virt.firewall.NoopFirewallDriver

use_neutron=True

enabled_apis=osapi_compute,metadata

transport_url=rabbit://openstack:[email protected]  #配置``RabbitMQ``消息隊列訪問權限

[api_database]#配置數據庫訪問

connection=mysql+pymysql://nova:[email protected]/nova_api

[database]#配置數據庫訪問

connection=mysql+pymysql://nova:[email protected]/nova

[glance]#配置鏡像服務API

api_servers=http://192.168.56.11:9292

[keystone_authtoken]  #配置認證服務

auth_uri =http://192.168.56.11:5000

auth_url =http://192.168.56.11:35357

memcached_servers =192.168.56.11:11211

auth_type =password

project_domain_name= default

user_domain_name =default

project_name =service

username = nova

password = nova

[oslo_concurrency]#配置鎖路徑

lock_path=/var/lib/nova/tmp

[vnc] #啓用並配置遠程控制檯訪問

enabled = True

vncserver_listen=0.0.0.0

vncserver_proxyclient_address=192.168.56.12

novncproxy_base_url=http://192.168.56.11:6080/vnc_auto.html

[libvirt]

virt_type=kvm

 

 

d啓動計算服務及其依賴,並將其配置爲隨系統自動啓動

systemctl enablelibvirtd.service openstack-nova-compute.service

systemctl startlibvirtd.service openstack-nova-compute.service

 

驗證:

獲得 admin 憑證來獲取只有管理員能執行的命令的訪問權限:

sourceadmin-openstack

列出服務組件,以驗證是否成功啓動並註冊了每個進程:

openstack compute servicelist

+----+------------------+-------------------------+----------+---------+-------+----------------------------+

| ID | Binary |Host | Zone | Status | State | Updated At |

+----+------------------+-------------------------+----------+---------+-------+----------------------------+

| 1 |nova-consoleauth | linux-node1.example.com | internal | enabled | up |2016-12-20T08:00:14.000000 |

| 2 |nova-conductor | linux-node1.example.com | internal | enabled | up |2016-12-20T08:00:20.000000 |

| 4 | nova-scheduler| linux-node1.example.com | internal | enabled | up |2016-12-20T08:00:14.000000 |

| 8 | nova-compute| linux-node2.example.com | nova | enabled | up | 2016-12-20T08:00:17.000000 |

+----+------------------+-------------------------+----------+---------+-------+----------------------------+


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