OpenStack-計算服務(wù)
【基于此文章的環(huán)境】點我快速打開文章
1嗓奢、控制節(jié)點(controller)
1.1 創(chuàng)庫授權(quán) nova_api
, nova
, 和 nova_cell0
mysql
CREATE DATABASE nova_api;
CREATE DATABASE nova;
CREATE DATABASE nova_cell0;
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \
IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \
IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' \
IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' \
IDENTIFIED BY 'NOVA_DBPASS';
用合適的密碼代替
NOVA_DBPASS
瞧柔。
1.2 創(chuàng)建服務(wù)證書
1. 創(chuàng)建 nova
用戶
openstack user create --domain default --password NOVA_PASS nova
用合適的密碼代替
NOVA_PASS
。
2. 給 nova
用戶添加 admin
角色
openstack role add --project service --user nova admin
3. 創(chuàng)建 nova
服務(wù)實體
openstack service create --name nova \
--description "OpenStack Compute" compute
4. 創(chuàng)建 Compute API
服務(wù)端點
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
5. 創(chuàng)建 Placement
服務(wù)用戶
openstack user create --domain default --password PLACEMENT_PASS placement
用合適的密碼代替
PLACEMENT_PASS
壁却。
6. 使用 admin
角色將 Placement
用戶添加到服務(wù)項目
openstack role add --project service --user placement admin
7. 在服務(wù)目錄中創(chuàng)建 Placement API
條目
openstack service create --name placement --description "Placement API" placement
8. 創(chuàng)建 Placement API
服務(wù)端點
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
1.3 安裝配置 nova
1. 安裝其軟件包
yum install openstack-nova-api openstack-nova-conductor \
openstack-nova-console openstack-nova-novncproxy \
openstack-nova-scheduler openstack-nova-placement-api -y &>/dev/null
echo $?
2. 修改配置文件
1. 備份初始配置文件瘤礁,然后重定向?qū)懭肱渲梦募?/h5>
cp /etc/nova/nova.conf{,.bak}
egrep -v '^$|#' /etc/nova/nova.conf.bak >/etc/nova/nova.conf
2. 編輯文件 /etc/nova/nova.conf
并完成如下動作:
vim /etc/nova/nova.conf
- 在
[DEFAULT]
部分阳懂,只啟用計算和元數(shù)據(jù) API
[DEFAULT]
# ...
enabled_apis = osapi_compute,metadata
- 在
[api_database]
和 [database]
部分,配置數(shù)據(jù)庫的連接
[api_database]
# ...
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api
[database]
# ...
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova
用你為 Compute
數(shù)據(jù)庫選擇的密碼來代替 NOVA_DBPASS
柜思。
- 在
[DEFAULT]
部分岩调,配置 RabbitMQ
消息隊列訪問權(quán)限
[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller
用你在 RabbitMQ
中為 openstack
選擇的密碼替換 RABBIT_PASS
。
- 在
[api]
和 [keystone_authtoken]
部分中赡盘,配置身份服務(wù)訪問
[api]
# ...
auth_strategy = keystone
[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 = NOVA_PASS
使用你在身份認(rèn)證服務(wù)中設(shè)置的 nova
用戶的密碼替換 NOVA_PASS
号枕。
- 在
[DEFAULT]
部分,配置 my_ip
來使用控制節(jié)點的管理接口的 IP
地址陨享。
[DEFAULT]
# ...
my_ip = 10.0.0.11
- 在
[DEFAULT]
部分葱淳,啟用網(wǎng)絡(luò)服務(wù)支持
[DEFAULT]
# ...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
- 在
[vnc]
部分,配置 VNC
代理使用控制節(jié)點的管理接口 IP
地址
[vnc]
enabled = true
# ...
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip
- 在
[glance]
區(qū)域抛姑,配置鏡像服務(wù) API
的位置:
[glance]
# ...
api_servers = http://controller:9292
- 在
[oslo_concurrency]
部分赞厕,配置鎖路徑
[oslo_concurrency]
# ...
lock_path = /var/lib/nova/tmp
- 在
[placement]
部分,配置 Placement API
[placement]
# ...
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:35357/v3
username = placement
password = PLACEMENT_PASS
替換 PLACEMENT_PASS
為你 placement
在 Identity
服務(wù)中為用戶選擇的密碼
3. 編輯文件 /etc/httpd/conf.d/00-nova-placement-api.conf
并完成如下動作:
cp /etc/httpd/conf.d/00-nova-placement-api.conf{,.bak}
vim /etc/httpd/conf.d/00-nova-placement-api.conf
#在16行</VirtualHost>這一行上面增加以下內(nèi)容
<Directory /usr/bin>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
</Directory>
4. 重啟 Httpd
服務(wù)
systemctl restart httpd
3. 同步數(shù)據(jù)庫(創(chuàng)表)
su -s /bin/sh -c "nova-manage api_db sync" nova
su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
su -s /bin/sh -c "nova-manage db sync" nova
檢查
nova-manage cell_v2 list_cells
4. 啟動和自動啟動
systemctl enable openstack-nova-api.service \
openstack-nova-consoleauth.service openstack-nova-scheduler.service \
openstack-nova-conductor.service openstack-nova-novncproxy.service
systemctl start openstack-nova-api.service \
openstack-nova-consoleauth.service openstack-nova-scheduler.service \
openstack-nova-conductor.service openstack-nova-novncproxy.service
4. 檢查
openstack compute service list
2定硝、計算節(jié)點(compute1)
2.1 安裝配置 nova
1. 安裝其軟件包
yum install openstack-nova-compute -y &>/dev/null
echo $?
2. 修改配置文件
1. 備份初始配置文件皿桑,然后重定向?qū)懭肱渲梦募?/h5>
cp /etc/nova/nova.conf{,.bak}
egrep -v '^$|#' /etc/nova/nova.conf.bak >/etc/nova/nova.conf
2. 編輯文件 /etc/nova/nova.conf
并完成如下動作:
vim /etc/nova/nova.conf
- 在
[DEFAULT]
部分,只啟用計算和元數(shù)據(jù) API
[DEFAULT]
# ...
enabled_apis = osapi_compute,metadata
- 在
[DEFAULT]
部分,配置 RabbitMQ
消息隊列訪問權(quán)限
[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller
用你在 RabbitMQ
中為 openstack
選擇的密碼替換 RABBIT_PASS
诲侮。
- 在
[api]
和 [keystone_authtoken]
部分中镀虐,配置身份服務(wù)訪問
[api]
# ...
auth_strategy = keystone
[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 = NOVA_PASS
使用你在身份認(rèn)證服務(wù)中設(shè)置的 nova
用戶的密碼替換 NOVA_PASS
。
- 在
[DEFAULT]
部分沟绪,配置 my_ip
來使用控制節(jié)點的管理接口的 IP
地址刮便。
[DEFAULT]
# ...
my_ip = 10.0.0.31
- 在
[DEFAULT]
部分,啟用網(wǎng)絡(luò)服務(wù)支持
[DEFAULT]
# ...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
- 在
[vnc]
部分绽慈,啟用并配置遠程控制臺訪問
[vnc]
# ...
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html
- 在
[glance]
區(qū)域诺核,配置鏡像服務(wù) API
的位置:
[glance]
# ...
api_servers = http://controller:9292
- 在
[oslo_concurrency]
部分,配置鎖路徑
[oslo_concurrency]
# ...
lock_path = /var/lib/nova/tmp
- 在
[placement]
部分久信,配置 Placement API
[placement]
# ...
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:35357/v3
username = placement
password = PLACEMENT_PASS
替換 PLACEMENT_PASS
為你 placement
在 Identity
服務(wù)中為用戶選擇的密碼
3. 啟動和自啟動
systemctl enable libvirtd.service openstack-nova-compute.service
systemctl start libvirtd.service openstack-nova-compute.service
4. 驗證操作
在控制節(jié)點上操作(controller)
openstack compute service list
發(fā)現(xiàn)計算節(jié)點,每添加新節(jié)點漓摩,則需要執(zhí)行以下操作:
su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
【后續(xù)文章】點我快速打開文章
【本文圖片下載地址】【002-OpenStack】點我快速打開分享(若異常裙士,請私信,萬分感謝) 【提取碼:kse1 】
今天你學(xué)習(xí)了嗎管毙?若有疑問腿椎,請留言、私信或加QQ群:647033350夭咬,大家一起進步吧啃炸!
cp /etc/nova/nova.conf{,.bak}
egrep -v '^$|#' /etc/nova/nova.conf.bak >/etc/nova/nova.conf
/etc/nova/nova.conf
并完成如下動作:vim /etc/nova/nova.conf
- 在
[DEFAULT]
部分阳懂,只啟用計算和元數(shù)據(jù)API
[DEFAULT]
# ...
enabled_apis = osapi_compute,metadata
- 在
[api_database]
和[database]
部分,配置數(shù)據(jù)庫的連接
[api_database]
# ...
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api
[database]
# ...
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova
用你為 Compute
數(shù)據(jù)庫選擇的密碼來代替 NOVA_DBPASS
柜思。
- 在
[DEFAULT]
部分岩调,配置RabbitMQ
消息隊列訪問權(quán)限
[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller
用你在 RabbitMQ
中為 openstack
選擇的密碼替換 RABBIT_PASS
。
- 在
[api]
和[keystone_authtoken]
部分中赡盘,配置身份服務(wù)訪問
[api]
# ...
auth_strategy = keystone
[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 = NOVA_PASS
使用你在身份認(rèn)證服務(wù)中設(shè)置的 nova
用戶的密碼替換 NOVA_PASS
号枕。
- 在
[DEFAULT]
部分,配置my_ip
來使用控制節(jié)點的管理接口的IP
地址陨享。
[DEFAULT]
# ...
my_ip = 10.0.0.11
- 在
[DEFAULT]
部分葱淳,啟用網(wǎng)絡(luò)服務(wù)支持
[DEFAULT]
# ...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
- 在
[vnc]
部分,配置VNC
代理使用控制節(jié)點的管理接口IP
地址
[vnc]
enabled = true
# ...
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip
- 在
[glance]
區(qū)域抛姑,配置鏡像服務(wù)API
的位置:
[glance]
# ...
api_servers = http://controller:9292
- 在
[oslo_concurrency]
部分赞厕,配置鎖路徑
[oslo_concurrency]
# ...
lock_path = /var/lib/nova/tmp
- 在
[placement]
部分,配置Placement API
[placement]
# ...
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:35357/v3
username = placement
password = PLACEMENT_PASS
替換 PLACEMENT_PASS
為你 placement
在 Identity
服務(wù)中為用戶選擇的密碼
/etc/httpd/conf.d/00-nova-placement-api.conf
并完成如下動作:cp /etc/httpd/conf.d/00-nova-placement-api.conf{,.bak}
vim /etc/httpd/conf.d/00-nova-placement-api.conf
#在16行</VirtualHost>這一行上面增加以下內(nèi)容
<Directory /usr/bin>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
</Directory>
Httpd
服務(wù)systemctl restart httpd
su -s /bin/sh -c "nova-manage api_db sync" nova
su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
su -s /bin/sh -c "nova-manage db sync" nova
nova-manage cell_v2 list_cells
systemctl enable openstack-nova-api.service \
openstack-nova-consoleauth.service openstack-nova-scheduler.service \
openstack-nova-conductor.service openstack-nova-novncproxy.service
systemctl start openstack-nova-api.service \
openstack-nova-consoleauth.service openstack-nova-scheduler.service \
openstack-nova-conductor.service openstack-nova-novncproxy.service
openstack compute service list
nova
yum install openstack-nova-compute -y &>/dev/null
echo $?
cp /etc/nova/nova.conf{,.bak}
egrep -v '^$|#' /etc/nova/nova.conf.bak >/etc/nova/nova.conf
2. 編輯文件 /etc/nova/nova.conf
并完成如下動作:
vim /etc/nova/nova.conf
- 在
[DEFAULT]
部分,只啟用計算和元數(shù)據(jù)API
[DEFAULT]
# ...
enabled_apis = osapi_compute,metadata
- 在
[DEFAULT]
部分,配置RabbitMQ
消息隊列訪問權(quán)限
[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller
用你在
RabbitMQ
中為openstack
選擇的密碼替換RABBIT_PASS
诲侮。
- 在
[api]
和[keystone_authtoken]
部分中镀虐,配置身份服務(wù)訪問
[api]
# ...
auth_strategy = keystone
[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 = NOVA_PASS
使用你在身份認(rèn)證服務(wù)中設(shè)置的
nova
用戶的密碼替換NOVA_PASS
。
- 在
[DEFAULT]
部分沟绪,配置my_ip
來使用控制節(jié)點的管理接口的IP
地址刮便。
[DEFAULT]
# ...
my_ip = 10.0.0.31
- 在
[DEFAULT]
部分,啟用網(wǎng)絡(luò)服務(wù)支持
[DEFAULT]
# ...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
- 在
[vnc]
部分绽慈,啟用并配置遠程控制臺訪問
[vnc]
# ...
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html
- 在
[glance]
區(qū)域诺核,配置鏡像服務(wù)API
的位置:
[glance]
# ...
api_servers = http://controller:9292
- 在
[oslo_concurrency]
部分,配置鎖路徑
[oslo_concurrency]
# ...
lock_path = /var/lib/nova/tmp
- 在
[placement]
部分久信,配置Placement API
[placement]
# ...
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:35357/v3
username = placement
password = PLACEMENT_PASS
替換
PLACEMENT_PASS
為你placement
在Identity
服務(wù)中為用戶選擇的密碼
3. 啟動和自啟動
systemctl enable libvirtd.service openstack-nova-compute.service
systemctl start libvirtd.service openstack-nova-compute.service
4. 驗證操作
在控制節(jié)點上操作(controller)
openstack compute service list
發(fā)現(xiàn)計算節(jié)點,每添加新節(jié)點漓摩,則需要執(zhí)行以下操作:
su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
【后續(xù)文章】點我快速打開文章
【本文圖片下載地址】【002-OpenStack】點我快速打開分享(若異常裙士,請私信,萬分感謝) 【提取碼:kse1 】