您好,登錄后才能下訂單哦!
說明:前三章內容為第一次完整部署openstack mitaka的手順,經過這一段時間的學習又重新完整部署了兩次。本章內容是第三次完整部署openstack mitaka的手順,加入了防火墻配置以及修正了一些問題。另外因為虛擬機重新安裝了,主機名可能和前面略有差別。
4、計算服務
4.1、安裝并配置控制節點
4.1.1、創建數據庫服務的憑據以及 API endpoints
4.1.1.1、為了創建數據庫,必須完成這些步驟
用數據庫連接客戶端以 root 用戶連接到數據庫服務器:
$ mysql -u root -p
創建 nova_api 和 nova 數據庫:
CREATE DATABASE nova_api;
CREATE DATABASE nova;
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'P@ssw0rd';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'P@ssw0rd';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'P@ssw0rd';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'P@ssw0rd';
4.1.1.2、獲得 admin 憑證來獲取只有管理員能執行的命令的訪問權限:
$ . admin-openrc
4.1.1.3、創建服務證書,完成這些步驟:
創建 nova 用戶:
$ openstack user create --domain default --password-prompt nova
--設置密碼:P@ssw0rd
給 nova 用戶添加 admin 角色
$ openstack role add --project service --user nova admin
創建 nova 服務實體:
$ openstack service create --name nova --description "OpenStack Compute" compute
4.1.1.4、創建 Compute 服務 API 端點 :
$ 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
控制節點防火墻開放端口:8774
# firewall-cmd --permanent --add-port=8774/tcp
# firewall-cmd --reload
確認端口開放成功
# firewall-cmd --list-all
4.1.2、安全并配置組件
4.1.2.1、安裝軟件包:
# yum install -y openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler
4.1.2.2、編輯vi /etc/nova/nova.conf文件并完成下面的操作
在``[DEFAULT]``部分,只啟用計算和元數據API:
enabled_apis = osapi_compute,metadata
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 111.111.111.201
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
在``[api_database]``部分,配置數據庫的連接:
connection = mysql+pymysql://nova:P@ssw0rd@controller/nova_api
在``[database]``部分,配置數據庫的連接:
connection = mysql+pymysql://nova:P@ssw0rd@controller/nova
在 “[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息隊列訪問:
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = P@ssw0rd
在“[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 = P@ssw0rd
注解:在 [keystone_authtoken] 中注釋或者刪除其他選項。
在``[vnc]``部分,配置VNC代理使用控制節點的管理接口IP地址 :
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip
在 [glance] 區域,配置鏡像服務 API 的位置:
api_servers = http://controller:9292
在 [oslo_concurrency] 部分,配置鎖路徑:
lock_path = /var/lib/nova/tmp
4.1.2.3、同步Compute 數據庫:
# su -s /bin/sh -c "nova-manage api_db sync" nova
# su -s /bin/sh -c "nova-manage db sync" nova
4.1.3、啟動 Compute 服務并將其設置為隨系統啟動:
# systemctl enable openstack-nova-api \
? openstack-nova-consoleauth openstack-nova-scheduler \
? openstack-nova-conductor openstack-nova-novncproxy
# systemctl start openstack-nova-api \
? openstack-nova-consoleauth openstack-nova-scheduler \
? openstack-nova-conductor openstack-nova-novncproxy
# systemctl status openstack-nova-api \
? openstack-nova-consoleauth openstack-nova-scheduler \
? openstack-nova-conductor openstack-nova-novncproxy
控制節點防火墻開放端口:6080、5672、5900
firewall-cmd --permanent --add-port=6080/tcp
firewall-cmd --permanent --add-port=5672/tcp
firewall-cmd --permanent --add-port=5900/tcp
firewall-cmd --reload
確認端口開放成功
# firewall-cmd --list-all
4.2、安裝和配置計算節點
4.2.1、安全并配置組件
4.2.1.1、安裝軟件包:
# yum install openstack-nova-compute -y
4.2.1.2、編輯vi /etc/nova/nova.conf文件并完成下面的操作:
在``[DEFAULT]`` 部分,配置``RabbitMQ``消息隊列的連接:
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 111.111.111.202
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
在 [oslo_messaging_rabbit]部分,配置``RabbitMQ``消息隊列的連接:
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = P@ssw0rd
在“[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 = P@ssw0rd
注解:在 [keystone_authtoken] 中注釋或者刪除其他選項。
在``[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 地址。基本的 URL 指示您可以使用 web 瀏覽器訪問位于該計算節點上實例的遠程控制臺的位置。
在 [glance] 區域,配置鏡像服務 API 的位置:
api_servers = http://controller:9292
在 [oslo_concurrency] 部分,配置鎖路徑:
lock_path = /var/lib/nova/tmp
計算節點防火墻開放端口:6080、5672、5900
firewall-cmd --permanent --add-port=6080/tcp
firewall-cmd --permanent --add-port=5672/tcp
firewall-cmd --permanent --add-port=5900/tcp
firewall-cmd --reload
確認端口開放成功
# firewall-cmd --list-all
4.2.2、完成安裝:
4.2.2.1、確定計算節點是否支持虛擬機的硬件加速。
$ egrep -c '(vmx|svm)' /proc/cpuinfo
如果這個命令返回了 one or greater 的值,那么你的計算節點支持硬件加速且不需要額外的配置。
如果這個命令返回了 zero 值,那么你的計算節點不支持硬件加速。你必須配置 libvirt 來使用 QEMU 去代替 KVM
因為是虛擬機所以不支持硬件加速,繼續配置
4.2.2.2、在vi /etc/nova/nova.conf文件的 [libvirt] 區域做出如下的編輯:
virt_type = qemu
4.2.2.3、啟動計算服務及其依賴,并將其配置為隨系統自動啟動:
# systemctl enable libvirtd openstack-nova-compute
# systemctl start libvirtd openstack-nova-compute
# systemctl status libvirtd openstack-nova-compute
4.3、驗證計算服務操作
在控制節點執行:
4.3.1、獲得 admin 憑證來獲取只有管理員能執行的命令的訪問權限:
$ . admin-openrc
4.3.2、列出服務組件,以驗證是否成功啟動并注冊了每個進程:
$ openstack compute service list
注解:該輸出應該顯示三個服務組件在控制節點上啟用,一個服務組件在計算節點上啟用。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。