您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關openstack-mitaka中如何安裝Compute服務的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
用戶OpenStack計算去托管和管理云計算系統。OpenStack計算是基礎即架構服務(IaaS)系統的一個重要組成部分。主要模塊是用Pthon實現的。
OpenStack計算與OpenStack身份認證進行認證交互;OpenStack Image提供磁盤和服務器鏡像服務;而OpenStack dashboard為用戶提供界面交互。鏡像的訪問是受項目和用戶的限制;配額是受每個項目限制(如云主機實例的數量)。OpenStack計算可橫向擴展標準硬件,并且下載鏡像到啟動的云主機實例。
OpenStack計算由下面幾方面和組件構成:
Nova-api service
接受和響應終端用戶計算API的調用。該服務支持OpenStack計算API,Amazon EC2 API,和給特權用戶執行管理操作的特定管理API。它執行一些政策,并啟動大部分的業務流程活動,例如運行一個實例。
nova-api-metadata service
接受來自云主機實例的元數據請求。當你的OpenStack環境是采用nova-network的多節點模式進行安裝時,nova-api-metadata服務通常是需要被用到的。更多細節,請查看Metadata service手冊。
nova-compute service
一個工作守護進程通過管理程序API來創建和終止虛擬機實例。例如:
l XenAPI for XenServer/XCP
l libvirt for KVM or QEMU
l VMwareAPI for Vmware
處理是相當復雜的。基本上,該守護進程接受來自隊列的操作并執行一系列的系統命令,例如啟動一個KVM實例和更新其在數據庫中的狀態。
nova-scheduler service
從隊列中取出一個虛擬機實例請求,并確定它運行在個計算服務器主機。
nova-conductor module
調解nova-compute計算服務和數據庫之間的相互作用。它消除了直接訪問由nova-compute服務組成的云數據庫。Noa-conductor模塊水平縮放。可是不要在運行nova-compute服務的節點部署它。更多信息查看,Configuration Reference Guide.
nova-cert module
一個服務器守護進程為Nova Cert服務提供X509證書服務。用于生成euca-bundle-image證書。只有在EC2 API使用中才會被用到。
nova-network worker daemon
和nova-compute服務類似,接受來自隊列的網絡任務并操作網絡。執行任務,例如設置格拉接口或者改變Iptables規則。
nova-consoleauth daemon
為用戶控制臺代理提供授權令牌。請了解See nova-novncproxy 和 nova-xvpvncproxy。此服務必須運行于控制代理工作中。你可以在配置單nova-consoleauth服務的集群配置中運行兩種類型的代理。更多信息,查看About nova-consoleauth.
nova-novncproxy daemon
為通過VNC連接訪問運行中的云主機實例提供代理。支持基于瀏覽器的VNC客戶端。
nova-spicehtml5proxy daemon
為通過SPICE連接訪問運行中的云主機實例提供代理。支持基于瀏覽器的HTML客戶端。
nova-xvpvncproxy daemon
為通過VNC連接訪問運行中的云主機實例提供代理。支持基于特定的OpenStack java客戶端。
nova-cert daemon
x509 證書
nova client
允許用戶提交作為管理或終端用戶的命令。
The queue
守護進程之前進行消息傳遞的一個中心樞紐。通常用RabbitMQ實現,也可以用另一個AMQP消息隊列來實現,如ZeroMQ。
SQL database
為云基礎架構提供大多數編譯時和運行時的狀態存儲,包括:
l 可用實例類型
l 在使用實例
l 可用網絡
l 項目
理論上,OpenStack可以支持SQL-Alchemy支持的任務數據庫。常見的SQLite3數據庫用于測試和開發工作,MySQL, 和 PostgreSQL。
下面步驟介紹如何在控制節點安裝和配置計算服務。
開始安裝和配置鏡像服務前需要先創建一個數據庫,服務憑證和API端點。
1.以下幾步完成數據庫創建:
l用root賬號登陸數據庫
mysql -u root -p
l創建nova_api 和 nova數據庫
CREATE DATABASE nova_api;
CREATE DATABASE nova;
l給數據庫授權
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova';
l退出數據庫
2.加載admin憑證
. admin-openrc
3.創建服務憑證
l創建nova用戶
openstack user create --domain default --password-prompt nova
l將admin角色添加給nova用戶
openstack role add --project service --user nova admin
l創建nova service entity
openstack service create --name nova --description "OpenStack Compute" compute
4.創建nova service API endpoints
openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1/%\(tenant_id\)s
openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%\(tenant_id\)s
openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1/%\(tenant_id\)s
1.安裝軟件包
yum install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler
2.編輯/etc/nova/nova.conf文件,完成下面幾步修改
l在[DEFAULT],配置僅啟用計算和元數據API:
[DEFAULT]
...
enabled_apis = osapi_compute,metadata
l在[api_database] 和 [database]部分,配置數據庫的訪問
[api_database]
...
connection = mysql+pymysql://nova:nova@controller/nova_api
[database]
...
connection = mysql+pymysql://nova:nova@controller/nova
l在[DEFAULT]和[oso_messaging_rabbit]部分,配置RabbitMQ消息隊列訪問
[DEFAULT]
...
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = xxxxxxxx
l在[DEFAULT]和[keystone_authtoken],配置Identity服務數據庫訪問
[DEFAULT]
...
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
l在[DEFAULT]部分,將my_ip配置為controller節點的管理接口IP地址
[DEFAULT]
...
my_ip = 192.168.213.81
l在[DEFAULT]部分,啟用對網絡服務的支持
[DEFAULT]
...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
l在[vnc]部分,配置VNC代理使用controller節點管理接口IP地址
[vnc]
...
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip
l在[glance]部分,配置鏡像服務API的location
[glance]
...
api_servers = http://controller:9292
l在[oslo_concurrency]部分,配置鏡像服務API的location
[oslo_concurrency]
...
lock_path = /var/lib/nova/tmp
3.同步填充Compute數據庫
# su -s /bin/sh -c "nova-manage api_db sync" nova
# su -s /bin/sh -c "nova-manage db sync" nova
若輸入下列deprecation信息,可忽略
1.啟動compute服務并配置開機自啟動
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
這部分描述如何在計算節點安裝和配置計算服務。該服務支持幾種hypervisors去部署instances 或 VMs。為簡單起見,這個配置在計算節點使用帶KVM擴展的QEMU管理程序,它應支持硬件加速的虛擬機。在舊式硬件上,該配置使用通用的QEMU管理程序。你可以按照這些說明進行較小的修改,以水平擴展你的環境與額外的計算節點。
1.安裝軟件包
yum install openstack-nova-compute
2.編輯/etc/nova/nova.conf文件,完成下面幾步修改
l在[DEFAULT]和[oslo_messaging_rabbit]部分,配置RabbitMQ消息隊列訪問:
[DEFAULT]
...
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
將RABBIT_PASS換成正確的密碼
l在[default] 和 [keystone_authtoken]部分,配置Identity service的訪問
[DEFAULT]
...
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
l在[default]部分,配置my_ip
[DEFAULT]
...
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
將MANAGEMENT_INTERFACE_IP_ADDRESS替換成計算節點的管理網絡接口的IP地址
l在[default]部分,打開網絡服務支持
[DEFAULT]
...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
l 在[vnc]部分,配置遠程控制臺的訪問
[vnc]
...
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html
服務器組件監聽所有的IP地址,代理組件只監聽計算節點的管理接口IP地址。Base URL表示你可以使用Web瀏覽器訪問計算節點上實例遠程控制臺的位置。
l在[glance]部分,配置Image service API的位置
[glance]
...
api_servers = http://controller:9292
l在[oslo_concurrency]部分,配置lock path
[oslo_concurrency]
...
lock_path = /var/lib/nova/tmp
1.測試計算節點是否支持虛擬機的硬件加速
egrep -c '(vmx|svm)' /proc/cpuinfo
如果命令返回值是大于等于1,說明你的計算節點支持硬件加速,這種情況通常不需做額外配置。如果命令返回值是0,你的計算節點不支持硬件加速,必須將的libvirt由KVM改為QEMU。
l在編輯/etc/nova/nova.conf文件,并按下面內容修改[libvirt]部分
[libvirt]
...
virt_type = qemu
2.啟動服務并設置開機自啟動
systemctl enable libvirtd.service openstack-nova-compute.service
systemctl start libvirtd.service openstack-nova-compute.service
在controller節點執行下面命令
1.加載admin憑證
. admin-openrc
2.例出服務組件以驗證每個進程的成功推出和注冊
openstack compute service list
備注:輸入應該列出在控制節點啟動的三個服務組件和在計算節點啟動的一個服務組件。
感謝各位的閱讀!關于“openstack-mitaka中如何安裝Compute服務”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。